SqlSessionFactory 是 MyBatis 中的一个关键接口,它负责创建 SqlSession 实例,允许你与数据库进行交互。通常情况下,一个应用中只需要一个 SqlSessionFactory 实例。

创建 SqlSessionFactory

在 MyBatis 中,SqlSessionFactory 通常通过 SqlSessionFactoryBuilder 来创建。一旦 SqlSessionFactory 被创建,它就会加载并解析配置文件,初始化整个 MyBatis 环境,包括数据源、事务管理器、映射文件等。
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

在上述例子中,mybatis-config.xml 是 MyBatis 的配置文件,包含了全局配置信息,如数据源、事务管理器等。

使用 SqlSessionFactory 创建 SqlSession

SqlSession 是 MyBatis 的主要接口,用于执行 SQL 语句和管理事务。通过 SqlSessionFactory,你可以创建一个新的 SqlSession 实例。
SqlSession sqlSession = sqlSessionFactory.openSession();

一旦得到了 SqlSession 实例,你可以使用它执行数据库操作,如查询、插入、更新和删除等。

关闭 SqlSessionFactory

在应用程序关闭时,通常需要关闭 SqlSessionFactory。
sqlSessionFactory.close();

关闭 SqlSessionFactory 会释放它所占用的资源,并确保 MyBatis 环境的正确关闭。

注意事项

  •  SqlSessionFactory 是一个重量级的对象,通常在应用程序的生命周期内只创建一次,并在整个应用中重复使用。

  
  •  SqlSessionFactory 一旦创建,就不允许再次修改。在整个应用程序运行期间,它负责提供 SqlSession 实例。


  •  SqlSessionFactory 的创建是相对耗费资源的操作,因此最好在应用程序初始化阶段进行创建,而不是在每次请求时都创建一个新的 SqlSessionFactory。


总之,SqlSessionFactory 是 MyBatis 中用于创建和管理 SqlSession 实例的关键接口,它通过加载和解析配置文件来初始化 MyBatis 环境。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7031/MyBatis