码迷,mamicode.com
首页 > 数据库 > 详细

MyBatis(四):SqlSession及其工厂类的作用域和生命周期

时间:2020-03-26 01:18:28      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:存在   start   jdbc   ssi   没有   流程   作用域   end   nfa   

SqlSession及其工厂类的作用域和生命周期

  • SqlSession创建流程:

技术图片

 

 

  1. 使用SqlSessionFactoryBuilder创建SqlSessionFactory。

  2. 使用SqlSessionFactory创建SqlSession。

  3. SqlSession可以通过Sql Mapper.class进行数据库操作,或者直接使用SqlSession的方法输入SqlMapper.方法()进行数据库操作,使用完要关闭。

SqlSessionFactoryBuilder

  • 就是SqlSessionFactory的建造器,典型的工厂模式。

  • 创建后就不再需要了,因为就是为了创造SqlSessionFactory的工具类。

  • 作用域:局部变量

SqlSessionFactory

  • 类似DBCP的连接池。创建就应该一直存在,没有任何理由丢弃它或重新创建另一个实例。因此应该使用单例模式或静态单例模式来创建。

  • 作用域:应用作用域(Application)程序运行就创建,程序关闭才释放。

SqlSession

  • 类似JDBC的一个Connection对象。因此每次使用完就应该要关闭,这样才能回收到SqlSessionFactory中继续利用,而且SqlSession不是线程安全的,不能被共享。

  • 作用域:请求或方法。

  • 尽量使用finally块中。

MyBatis(四):SqlSession及其工厂类的作用域和生命周期

标签:存在   start   jdbc   ssi   没有   流程   作用域   end   nfa   

原文地址:https://www.cnblogs.com/renzhongpei/p/12571478.html

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