SqlSessionFactory和SqlSession的生命周期以及实现

SqlSessionFactory和SqlSession作为MyBatis技术部分的关键对象,他们的生命周期和实现到底是怎样的呢

 

  • SqlSessionFactory

SqlSessionFactory一旦被创建,SqlSessionFactory应该在你的项目执行期间都存在。没有理由来处理或重新创建它,最简单的就是使用单例模式或者静态单例模式。最好使用框架,依赖注入容器,比如Google Guice或Spring。这样的框架允许你创建支持程序来管理单例SqlSessionFactory的生命周期。

 

  • SqlSession 

至于SqlSession,每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能被共享,也是线程不安全的。因此最佳的范围是请求或方法范围。绝对不能将SqlSession实例的引用放在一个类的静态字段甚至是实例字段中。

 

理解不深,海涵。

你可能感兴趣的:(SqlSessionFactory和SqlSession的生命周期以及实现)