mybatis(二)
一、MyBatis的核心对象
上一篇文章说了mybatis的四个核心对象,但是没有详细介绍,这一篇来主要介绍一下sqlsession
上篇内容
MyBatis四大核心对象:
(1)SqlSession对象,该对象中包含了执行SQL语句的所有方法。类似于JDBC里面的Connection。
(2)Executor接口,它将根据SqlSession传递的参数动态地生成需要执行的SQL语句,同时负责查询缓存的维护。类似于JDBC里面的Statement/PrepareStatement。
(3)MappedStatement对象,该对象是对映射SQL的封装,用于存储要映射的SQL语句的id、参数等信息。
(4)ResultHandler对象,用于对返回的结果进行处理,最终得到自己想要的数据格式或类型。可以自定义返回类型。
二、对象及元素
1.SqlSession
SqlSession是MyBatis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作。
注意使用后要及时关闭
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 此处执行持久化操作
} finally {
sqlSession.close();
}
多学一招,使用工具类创建
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory = null;
static {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSession getSession() {
return sqlSessionFactory.openSession();
}
}
2.配置文件标签
在MyBatis框架的核心配置文件中,<configuration>
元素是配置文件的根元素,其他元素都要在<configuration>
元素内配置。
<properties>
是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性。例如,数据库的连接等属性,就可以通过典型的Java属性文件中的配置来替换,具体方式如下:
1.编写db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root
2.配置<properties… />属性
<properties resource="db.properties" />
3.修改配置文件中数据库连接的信息
<dataSource type="POOLED">
<!-- 数据库驱动 -->
<property name="driver" value="${jdbc.driver}" />
<!-- 连接数据库的url -->
<property name="url" value="${jdbc.url}" />
<!-- 连接数据库的用户名 -->
<property name="username" value="${jdbc.username}" />
<!-- 连接数据库的密码 -->
<property name="password" value="${jdbc.password}" />
</dataSource>
<mappers>
元素用于指定MyBatis映射文件的位置,一般可以使用以下4种方法引入映射器文件,具体如下
1.使用类路径引入
<mappers>
<package name="com.itheima.mapper"/>
</mappers>
2.本地文件路径引入
<mappers>
<mapper url="file:///D:/com/itheima/mapper/UserMapper.xml"/>
</mappers>
3.使用接口引入
<mappers>
<mapper class="com.itheima.mapper.UserMapper"/>
</mappers>
在映射文件中,元素是映射文件的根元素,其他元素都是它的子元素。
总结
本篇主要对MyBatis中的核心对象和核心文件进行了详细讲解。首先讲解了MyBatis中的重要核心对象SqlSession;然后介绍了配置文件中的元素及其使用;最后对映射文件中的几个主要元素进行了介绍。