首页 > 其他 > 详细

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

时间:2017-10-17 13:36:29      阅读:336      评论:0      收藏:0      [点我收藏+]

  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)和生命周期

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!