5、mybatis生命周期和作用域
SqlSessionFactoryBuilder(sql会话工厂的创建)
- SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域(也就是局部方法变量)。
- 一旦创建就不需要了
SqlSessionFactory(sql会话工厂)
- 一个数据库连接池
- SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。
- 使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次、
SqlSession(sql会话)
- SqlSession 实例不能被共享的,所以它的最佳的作用域是请求或方法作用域。
- 不能将 SqlSession 实例的引用放在一个类的静态域,
- 打开一个 SqlSession,返回一个响应后,就关闭它。