博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(九)mybatis之生命周期
阅读量:6789 次
发布时间:2019-06-26

本文共 854 字,大约阅读时间需要 2 分钟。

生命周期

 

SqlSessionFactoryBuilder

 

         SqlSessionFactoryBuilder的作用就是生成SqlSessionFactory对象,是一个构建器。所以我们一旦构建了SqlSessionFactory,它的作用就已经完结了

 

SqlSessionFactory

 

         SqlSessionFactory的作用就是创建SqlSession,但是SqlSessionFactory应该在Mybatis应用的整个生命周期中。因为如果我们多次创建同一个数据库的SqlSessionFactory,连接资源就很快会被耗尽。因为SqlSessionFactory的责任就只是创建SqlSession,所以这种情况下就很适合使用单例模式(单例类只能有一个实例,单例类必须自己创建自己的唯一实例而且单例类必须给所有其他对象提供这一实例)

         所以,为了避免过多的Connection被消耗,每一个数据库只对应一个SqlSessionFactory,管理好数据库资源的分配。

 

SqlSession

         Session是一个会话,相当于JDBC的一个Connection对象,它的生命周期应该是在请求数据库处理事务的过程中

         它是一个线程不安全的对象,在涉及多线程的时候,操作数据库需要注意其隔离级别、数据库锁等高级特性。

         此外每次创建的SqlSession都必须即使关闭它(finally语句块中关闭SqlSession),它长期存在就会使数据库连接池的活动资源减少,对系统性能影响很大。

 

Mapper

         Mapper是一个接口,而没有任何实现类,它的作用是发送SQL,然后返回我们需要的结果,或者执行SQL从而修改数据库的数据。因此它应该在一个SqlSession事务方法之内

 


参考文章:https://blog.csdn.net/jason0539/article/details/23297037/

转载于:https://www.cnblogs.com/NYfor2018/p/9103209.html

你可能感兴趣的文章
《Cisco路由器配置与管理完全手册》(第二版)前言和目录
查看>>
git 删除本地分支
查看>>
关于SQL SERVER高并发解决方案
查看>>
MAVEN进行debug过程
查看>>
抓翻番股
查看>>
另一个视界 ——三星SUHD傲世超高清电视体验札记
查看>>
多维度创新打造领先阿里云技术生态
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
配置IEEE802.3X流控制
查看>>
从濒临解散到浴火重生,OceanBase 这十年经历了什么?
查看>>
DHCP详解
查看>>
Mysql 在java 中的乱码
查看>>
linux下mysql命令
查看>>
Gitlab的使用
查看>>
Fartlek跑-间歇跑
查看>>
怎样在window phone8 中通过webBrowser调用第三方验证登陆接口
查看>>
Kalman原理(很详细)本文转载自《学习OpenCV》清华大学出版社 于诗琪 刘瑞祯 译...
查看>>
linux/centos6 系统时间同步 同步系统时间 ntpdate
查看>>
第一次开启51CTO博客
查看>>