MyBatis的核心对象
1.SqlSessionFactory
??SqlSessionFactory是单个数据库映射关系经过编译后的内存镜像,用于创建 SqlSession。 SqlSessionFactory对象的实例通过SqlSessionFactoryBuilder对象来构建,它通过XML配置文件或一个预先定义好的 Configuration实例构建出SqlSessionFactory的实例。通过XML配置文件构建出SqlSessionFactory实例的实现代码如下:
//读取配置文件
InputStream inputStream = Resources.getResourceAsStream("配置文件位置");
根据配置文件构建 sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
??SqlSessionFactory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在。如果多次地创建同一个数据库的 SqlSessionFactory,那么此数据库的资源将很容易被耗尽。所以在构建SqISessionFactory实例时,建议使用单列模式。
2.SqlSession
??SqlSession是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作。SqlSession对象包含了数据库中所有执行SQL操作的方法,它底层封装了JDBC连接,所以可以直接使用其实例来执行已映射的SQL语句。SqlSession实例是不能被共享的,也是线程不安全的,因此其使用范围最好限定在一次请求或一个方法中,绝不能将其放在一个类的静态字段、实例字段或任何类型的管理范围中使用。使用完 SqISession对象之后,要及时将它关闭,通常可以将其放在finally块中关闭。
SqlSession对象常用方法如下所示。
1. T selectOne(String statement);
查询方法。参数 statement是在配置文件中定义的
MyBatis配置文件元素
<configuration>
<!-- 属性 -->
<properties/>
<!-- 设置 -->
<settings/>
<!-- 类型命名 -->
<typeAliases/>
<!-- 类型处理器 -->
<typeHandlers/>
<!-- 对象工厂 -->
<objectFactory/>
<!-- 插件 -->
<plugins/>
<!-- 配置环境 -->
<environments>
<!-- 环境变量 -->
<environment>
<!-- 事务管理器 -->
<transactionManager/>
<!-- 数据源-->
<dataSource/>
</environment>
</environments>
<!-- 数据库厂商标识 -->
<databaseIdProvider/>
<!-- 映射器 -->
<mappers/>
</configuration>
MyBatis的核心配置
原文:https://www.cnblogs.com/zq98/p/13184445.html