Mybatis之 SqlSession简介_mybatis sqlsession-程序员宅基地

技术标签: mybatis  Mybatis  

SqlSession 的创建需要借助于 SqlSessionFactory。SqlSessionFactory 是 Mybatis 的关键对象。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。如下图所示:
在这里插入图片描述

SqlSessionFactory 可以理解为是创建 SqlSession 的工厂,SqlSessionFactory 是线程安全的,一旦被创建,应该在应用执行期间都存在。在应用运行期间不要重复创建多次,建议使用单例模式。
SqlSession 的作用类似于一个 JDBC 中的 Connection 对象,代表着一个连接资源的启用。参考自MyBatis SqlSession简介
具体而言,SqlSession 的作用有 3 个:

  • 获取 Mapper 接口。
  • 发送 SQL 给数据库。
  • 控制数据库事务。

SqlSession 是应用程序与持久存储层之间执行交互操作的一个单线程对象,也是 Mybatis 执行持久化操作的关键对象。SqlSession 对象完全包含以数据库为背景的所有执行 SQL 操作的方法,它的底层封装了 JDBC 连接,可以用 SqlSession 实例来直接执行已映射的 SQL 语句。每个线程都应该有它自己的 SqlSession 实例。SqlSession 的实例不能被共享,也是线程不安全的,绝对不能将 SqlSession 实例的引用放在一个类的静态字段甚至是实力字段中。也绝不能将 SqlSession 市里的引用放在任何类型的管理范围中,比如 Servlet 当中的 HttpSession 对象中。使用 SqlSession 之后关闭 Session 很重要,应该确保使用 finally 块来关闭它。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dingd1234/article/details/123171568

智能推荐

endnote x9 word 闪退_endnote闪退-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏2次。endnote x9 word 闪退https://support.clarivate.com/Endnote/s/article/EndNote-Problematic-field-codes-causing-jumping-cursor-the-range-cannot-be-deleted-or-other-problems-while-formatting?language=en_US..._endnote闪退

讲解数字签名,数字证书,验证码,信息摘要,以及java怎么产生一个数字证书的好文章...-程序员宅基地

文章浏览阅读195次。文章的源地址:[url]http://blog.sina.com.cn/s/blog_5a6e84190100anjm.html[/url]摘要:  在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在 JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet..._java 国密数字证书签名不算摘要怎么办

oracle 31693,关于Impdp中ORA-31693 ORA-29913解决方案-程序员宅基地

文章浏览阅读2.9k次。Oracle11gR2 11.2.0.1 + AIX6.1 + RAC将一张表从RAC导出,导入另一单点数据库,导入的过程中出错:cargo03:oracle$ impdp system/cdasdfparfile='/oracle/dp/t_shark_agent.prm'Import: Release 11.2.0.1.0 - Production onWed Aug 24 16:38:46 ..._ora-31693 ora-29913 ora-14400

java字符串转时间戳_java String转为时间戳(long类型)-程序员宅基地

文章浏览阅读2.8k次。从网上找了半天,很多人都是抄袭别人,而且还不正确,相当气愤!下面是我修改后正确的把String类型转为事件戳的方法:public long getTimestamp(String sTime) throws ParseException{System.out.println(sTime);Timestamp ts = Timestamp.valueOf(sTime);Date date2 = ne..._string类型时间如何转化为long类型的时间戳

怎样申请域名SSL证书?_ssl证书 按一级域名申请-程序员宅基地

文章浏览阅读1k次,点赞10次,收藏7次。SSL证书是这种ca证书,遵循SSL协议书,由受信赖的ca证书授予组织CA,在认证网络服务器真实身份后授予,具备网络服务器身份认证和传输数据数据加密作用。在其中SSL协议书就是指SSL/TLS,SSL(Secure Sockets Layer),以及继任传输层安全性(Transport Layer Security,TLS)是为通信网络出示安全性及数据完整性的这种安全协议。TLS与SSL在传输层对数据连接开展数据加密。而SSL证书根据在手机客户端电脑浏览器和Web集群服务器创建这条SSL安全出口(Secur_ssl证书 按一级域名申请

命令集matlab,Matlab常用命令集2-程序员宅基地

文章浏览阅读133次。Matlab常用命令集:O oode1 非Stiff 微分方程变步长解算器ode15s Stiff 微分方程变步长解算器ode23t 适度Stiff 微分方程解算器ode23tb Stiff 微分方程解算器ode45 非Stiff 微分方程变步长解算器odefile ODE 文件模板odeget 获知ODE 选项设置参数odephas2 ODE 输出函数的二维相平面图odephas3 ODE 输出..._值空间正交化

随便推点

Python 、Smtp 发送邮件(163邮箱)_to adder-程序员宅基地

文章浏览阅读1.4k次。1、环境 window python 32 、使用 smtplib 库、 MIMEText 库3、 163 邮箱开启授权设置 #!/usr/bin/python#coding:utf-8import smtplibfrom email.mime.text import MIMETextdef sendmail(content): form_add..._to adder

element ui表单必填_vue+element-Ui实现简单的表单必填项验证(1)-程序员宅基地

文章浏览阅读2.8k次。在项目中,通常我们在提交表单的时候需要进行一个必填项的验证,在这里,就简单的介绍一下element提供的表单组件中的必填项验证通过阅读文档,可以得知el-form上是自带一个validate方法的对整个表单进行校验的方法,参数为一个回调函数。该回调函数会在校验结束后被调用,并传入两个参数:是否校验成功和未通过校验的字段。若不传入回调函数,则会返回一个 promise一、首先,我们要调用el-for..._element的表单如何监听必填校验

HTML5 学习总结(四)——canvas绘图、WebGL、SVG-程序员宅基地

文章浏览阅读238次。一、Canvascanvas是HTML5中新增一个HTML5标签与操作canvas的javascript API,它可以实现在网页中完成动态的2D与3D图像技术。<canvas> 标记和 SVG以及 VML 之间的一个重要的不同是,<canvas> 有一个基于 JavaScript 的绘图 API,而 SVG 和 VML 使用一..._根据html字符串,动态解析dom并动态绘制canvas,最后通过绘制好的canvas生成图片

JAVA开发功能实现:把PDF玩儿出花样,IText值得安利一下_itext 能做什么-程序员宅基地

文章浏览阅读769次。IText是什么?iText 7 Core可以被Java或.NET(C#)对PDF文档进行编程。iText是一个通用的、可编程的和企业级的PDF解决方案,允许你将其功能嵌入到你自己的软件中,以实现数字化转型。iText 7 Core以开放源码(AGPL)以及商业许可的形式提供。虽然是开源但是也不代表完全免费,详情可搜索“AGPL协议”。iText 7 Core (open source) pdf2Data* (closed source) pdfCalligraph (closed so_itext 能做什么

数据库的创建表时,字段的数据类型和约束条件_建表时约束int大小-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏48次。文章目录数值类型:整数类型:浮点型:日期类型:字符串类型:枚举类型与集合类型:数值类型:整数类型: tinyint 默认有符号,[unsigned]代表无符号,超出范围显示最大范围。语法:tinyint[(m)] [unsigned] [zerofill] int类型无符号的存储宽度4个字节, 创建表整形类型不指定宽度。指定宽度对存储宽度没用,只是更改显示宽度。显示宽度是指..._建表时约束int大小

SWMM面板基础认识-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏12次。1 版本推荐:目前SWMM已经更新到5.2版本(2022年2月),汉化版本目前是5.0版本,建议大家使用英文版,运行更加稳定和准确。2 面板认识:我们首先要对SWMM的操作面板有一定了解,这是建模的基础。面板左上方是主菜单,左侧是项目编辑条,右侧是地图工具条,最下方是状态条。首先对主菜单进行基础介绍。3 项目编辑条:该部分主要是功能是添加建模元素,设置参数,比如节点、管段、汇水区等。项目编辑条共有6个选项,从上往下依次是选项设置卡、气象设置卡、水文选项卡、水力选项卡、..._swmm

推荐文章

热门文章

相关标签