mybatis实战教程(二)-接口式编程

   前面已经配置好了mybatis的开发环境,并且实现了一个简单的查询。这种方式是使用SqlSession实例来直接执行已映射的SQL语句,这种方法需要写很长一段字符串,容易出错、传入数据参数类型也可能会出错、执行结果还需要强制类型转换。

   如果采用接口式编程,就可以明确被调用的方法,因为我们调用的是接口中的某个具体方法,而不再是通过一个字符串来指定执行映射文件中的某个SQL语句。传入参数和返回值都不再是Object,这样就可以在代码编写阶段确保传入的参数类型是正确的,也不再需要对返回值进行强类型转换。

优化步骤

1.在source目录下创建名为com.zhq.dao的接口包,并在该包下创建一个名为ActivityDao的接口。代码如下:

package com.zhq.dao;

import java.util.List;

import com.zhq.pojo.Activity;

public interface ActivityDao {
    
    List<Activity> selectByAll();
    Activity selectById(int id);
}

2.修改测试类ActivityTest,使用SqlSession实例对象的getMapper方法。代码如下:

@Test
public void testSelectById() {
    SqlSession session = sqlSessionFactory.openSession();
    //使用SqlSession实例对象的selectOne方法
    //Activity activity = session.selectOne("com.zhq.dao.ActivityDao.selectById",10);
    ActivityDao activityDao = session.getMapper(ActivityDao.class);
    Activity activity = activityDao.selectById(10);
    session.commit();
    Assert.assertNotEquals("查找成功", "爱美丽", activity.getTitle());
    session.close();
}

3.运行测试文件就可以看到结果

源码

代码地址:https://github.com/DerryZhao/mybatisLearn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容