码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis 作用域(Scope)和生命周期

时间:2017-10-17 15:10:48      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:sof   map   资料   cto   instance   code   重建   style   nfa   

  SqlSessionFactoryBuilder

  一旦创建了SqlSessionFactory,就不再需要它了。因此SqlSessionFactoryBuilder的最佳作用域是方法作用域(也就是局部方法变量)。

 

  SqlSessionFactory

  SqlSessionFactory一旦被创建就会在应用的运行期间一直存在,不能被清除或重建。因此SqlSessionFactory的最佳作用域是应用作用域。最简单的就是使用单例模式。

 

  SqlSession

  每个线程都有自己的SqlSession实例。SqlSession实例不是线程安全的,不能被共享,所以它的最佳作用域是方法作用域(也就是局部方法变量)。把关闭操作放到finally块中以确保每次都能执行关闭。示例如下:

1 SqlSession session = sqlSessionFactory.openSession();
2 try {
3   // do work
4 } finally {
5   session.close();
6 }

 

  映射器实例(Mapper Instances)

  映射器用于创建绑定映射语句的接口。映射器接口的实例是从SqlSession中获得的。它的最佳作用域是方法作用域(也就是局部方法变量)。示例如下:

1 SqlSession session = sqlSessionFactory.openSession();
2 try {
3   BlogMapper mapper = session.getMapper(BlogMapper.class);
4   // do work
5 } finally {
6   session.close();
7 }

 

  参考资料

  MyBatis入门(官网)

MyBatis 作用域(Scope)和生命周期

标签:sof   map   资料   cto   instance   code   重建   style   nfa   

原文地址:http://www.cnblogs.com/WJQ2017/p/7680488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!