MyBatis测试mybatis执行sql语句步骤
Posted 王六六的IT日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis测试mybatis执行sql语句步骤相关的知识,希望对你有一定的参考价值。
测试mybatis执行sql语句步骤
调用mybatis某个对象的方法,执行mapper文件中的sql语句
mybatis核心类: SqlSessionFactory
-
定义mybatis主配置文件的位置, 从类路径开始的相对路径——读取主配置文件里面的信息(1.连接数据库:创建、连接对象的必要数据。2.mapper:找到要执行的sql语句)
-
读取主配置文件。使用mybatis框架中的
Resources
类 -
创建
SqlSessionFactory
对象, 使用SqlSessionFactoryBuidler
类
1)每个基于 MyBatis 的应用都是以一个SqlSessionFactory的实例
为核心的。
SqlSessionFactory的实例
可以通过SqlSessionFactoryBuilder
获得。
而SqlSessionFactoryBuilder
则可以从 XML 配置文件或一个预先配置的Configuration实例
来构建出SqlSessionFactory实例
。
2)既然有了SqlSessionFactory
,顾名思义,可以从中获得SqlSession
的实例。SqlSession
提供了在数据库执行 SQL 命令所需的所有方法。可以通过SqlSession 实例
来直接执行已映射的 SQL 语句。 -
获取SqlSession对象
-
指定要执行的sql语句的 id
sql的id
=namespace+"."+ select|update|insert|delete
标签的id属性值
-
通过SqlSession的方法,执行sql语句
-
关闭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语句步骤的主要内容,如果未能解决你的问题,请参考以下文章