9.1 MyBatis体系结构 9.1.1 SqlSessionFactory

9.1 MyBatis体系结构

MyBatis的持久化解决方案将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无须关注底层的JDBC操作,就可以以面向对象的方式进行持久层操作。底层数据库连接的获取、数据访问的实现、事务控制和数据库连接的关闭等都无须用户关心,从而将应用层从底层的JDBC/JTA API抽取出来。通过配置文件管理JDBC连接,让MyBatis完成持久化访问的实现。
MyBatis中的常用对象有SqlSessionFactorySqlSession

9.1.1 SqlSessionFactory

SqlSessionFactoryMyBatis的关键对象,它是单个数据库映射关系经过编译后的内存镜像。

如何创建SqlSessionFactory实例

SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder对象来获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。
每一个MyBatis的应用程序都以个SqlSessionFactory对象的实例为核心。其也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在。在应用运行期间不需要重复创建多次,建议使用单例模式。

SqlSessionFactory常用方法

SqlSessionFactory是创建SqlSession的工厂,SqlSessionFactory的常用方法如下:

方法 描述
SqlSession openSession() 创建SqlSession对象。