美文网首页@IT·互联网程序员Java学习笔记
mybatis实战教程(二)-接口式编程

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

作者: StrongZhao | 来源:发表于2017-05-08 15:55 被阅读185次

       前面已经配置好了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

    相关文章

      网友评论

        本文标题:mybatis实战教程(二)-接口式编程

        本文链接:https://www.haomeiwen.com/subject/zfamtxtx.html