9.1 MyBatis体系结构
MyBatis
的持久化解决方案将用户从原始的JDBC
访问中解放出来,用户只需要定义需要操作的SQL
语句,无须关注底层的JDBC
操作,就可以以面向对象的方式进行持久层操作底层数据库连接的获取、数据访问的实现、事务控制和数据库连接的关闭等都无须用户关心,从而将应用层从底层的JDBC/JTA API
抽取出来。通过配置文件管理JDBC
连接,让MyBatis
完成持久化访问的实现。MyBatis
中的常用对象有SqlSessionFactory
和SqlSession
。
9.1.1 SqlSessionFactory
SqlSessionFactory
是MyBatis
的关键对象,它是单个数据库映射关系经过编译后的内存镜像。
如何创建SqlSessionFactory实例
SqlSessionFactory
的实例可以通过SqlSessionFactoryBuilder
对象来获得,而SqlSessionFactoryBuilder
则可以从XML
配置文件或一个预先定制的Configuration
的实例构建出SqlSessionFactory
的实例。
每一个MyBatis
的应用程序都以个SqlSessionFactory
对象的实例为核心。其也是线程安全的,SqlSessionFactory
一旦被创建,应该在应用执行期间都存在。在应用运行期间不需要重复创建多次,建议使用单例模式。
SqlSessionFactory常用方法
SqlSessionFactory
是创建SqlSession
的工厂,SqlSessionFactory
的常用方法如下:
方法 | 描述 |
---|---|
SqlSession openSession() |
创建SqlSession 对象。 |