依赖注入框架可以创建线程安全的、基于事务的 SqlSession 和映射器,并将它们直接注入到你的 bean 中,因此可以直接忽略它们的生命周期。
作用域
SqlSessionFactoryBuilder 局部变量,用于创建SqlSessionFactory
SqlSessionFactory 应用运行期间
SqlSession 每个线程应该有自己的SqlSession,非线程安全,不能共享,所以它的最佳的作用域是请求或方法作用域
如果你现在正在使用一种 Web 框架,要考虑 SqlSession 放在一个和 HTTP 请求对象相似的作用域中
换句话说,每次收到的 HTTP 请求,就可以打开一个 SqlSession,返回一个响应,就关闭它。
try (SqlSession session = sqlSessionFactory.openSession()) {
// 你的应用逻辑代码
}