MyBatis测试mybatis执行sql语句步骤

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis测试mybatis执行sql语句步骤相关的知识,希望对你有一定的参考价值。

测试mybatis执行sql语句步骤

调用mybatis某个对象的方法,执行mapper文件中的sql语句
mybatis核心类: SqlSessionFactory

  1. 定义mybatis主配置文件的位置, 从类路径开始的相对路径——读取主配置文件里面的信息(1.连接数据库:创建、连接对象的必要数据。2.mapper:找到要执行的sql语句)

  2. 读取主配置文件。使用mybatis框架中的Resources

  3. 创建SqlSessionFactory对象, 使用SqlSessionFactoryBuidler
    1)每个基于 MyBatis 的应用都是以一个 SqlSessionFactory的实例 为核心的。
    SqlSessionFactory的实例 可以通过 SqlSessionFactoryBuilder 获得。
    SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration实例 来构建出 SqlSessionFactory实例
    2)既然有了 SqlSessionFactory,顾名思义,可以从中获得SqlSession 的实例。SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。

  4. 获取SqlSession对象

  5. 指定要执行的sql语句的 id
    sql的id = namespace+"."+ select|update|insert|delete标签的id属性值

  6. 通过SqlSession的方法,执行sql语句

  7. 关闭SqlSession对象

举例:

@Test
public void testSelectStudentById2() throws IOException {

    //调用mybatis某个对象的方法,执行mapper文件中的sql语句
    //mybatis核心类: SqlSessionFactory

    //1.定义mybatis主配置文件的位置, 从类路径开始的相对路径
    String config = "mybatis.xml";

    //2.读取主配置文件。使用mybatis框架中的Resources类
    InputStream inputStream = Resources.getResourceAsStream(config);

    //3.创建SqlSessionFactory对象, 使用SqlSessionFactoryBuidler类
    // 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。
    // SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。
    // 而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来
    // 构建出 SqlSessionFactory 实例。
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);

    //既然有了 SqlSessionFactory,顾名思义,可以从中获得 SqlSession 的实例。
    // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    // 你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。

    //4.获取SqlSession对象。
    SqlSession session = factory.openSession();

    //5.指定要执行的sql语句的 id
    //  sql的id = namespace+"."+ select|update|insert|delete标签的id属性值
    String sqlId = "com.bjpowernode.dao.StudentDao" + "." + "selectStudentById";

    // 6.通过SqlSession的方法,执行sql语句
    Student student = session.selectOne(sqlId,1002);
    System.out.println("使用mybatis查询一个学生:" + student);

    // 7.关闭SqlSession对象
    session.close();

}

以上是关于MyBatis测试mybatis执行sql语句步骤的主要内容,如果未能解决你的问题,请参考以下文章

mybatis执行test07测试类却显示test05测试类调用的sql语句出错

MyBatis高级 注解开发

Mybatis学习笔记-动态SQL

MyBatis

Mybatis - 学习指南一

SpringBoot 中的 Mybatis 打印 执行过的SQL语句