MyBatis中jdbc和managed的区别
原文:https://blog.csdn.net/qq_36074180/article/details/74010510
1 JdbcTransaction 和 ManagedTransaction都实现Transaction的接口
2 MyBatis的事务管理分为两种形式:
一、使用JDBC的事务管理机制:即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等
二、使用MANAGED的事务管理机制:这种机制MyBatis自身不会去实现事务管理,而是让程序的容器如(JBOSS,Weblogic)来实现对事务的管理
3
4
MyBatis事务的创建是交给TransactionFactory 事务工厂来创建的,如果我们将<transactionManager>的type 配置为"JDBC",在MyBatis初始化解析<environment>节点时,会根据type="JDBC"创建一个JdbcTransactionFactory工厂
如果type = "JDBC",则MyBatis会创建一个JdbcTransactionFactory.class 实例;如果type="MANAGED",则MyBatis会创建一个MangedTransactionFactory.class实例。
5
JdbcTransaction直接使用JDBC的提交和回滚事务管理机制 。
ManagedTransaction让容器来管理事务Transaction的整个生命周期
注意:如果我们使用MyBatis构建本地程序,即不是WEB程序,若将type设置成"MANAGED",那么,我们执行的任何update操作,即使我们最后执行了commit操作,数据也不会保留,不会对数据库造成任何影响。因为我们将MyBatis配置成了“MANAGED”,即MyBatis自己不管理事务,而我们又是运行的本地程序,没有事务管理功能,所以对数据库的update操作都是无效的。
---------------------
作者:大炮的大炮没有大炮
来源:CSDN
原文:https://blog.csdn.net/qq_36074180/article/details/74010510
版权声明:本文为博主原创文章,转载请附上博文链接!
MyBatis中jdbc和managed的区别相关推荐
- mybatis中association 和collection 的区别
mybatis中association 和collection 的区别:https://zhidao.baidu.com/question/1240407172484106299.html 两个实体类 ...
- MyBatis中的#和$之间的区别
MyBatis 中使用 parameterType 向 SQL 语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型. 在SQL中引用这 ...
- MyBatis中#{}和${}的作用与区别
在mybatis中#和$的主要区别是:#传入的参数在SQL中显示为字符串,#方式能够很大程度防止SQL注入:$传入的参数在SQL中直接显示为传入的值,$方式无法防止SQL注入. 1.传入的参数在SQL ...
- 在mybatis中resultMap与resultType的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...
- mybatis中resultType和resultMap的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...
- Mybatis中的resultType与resultMap区别
都可以返回一种数据类型,比如String,Long,自定义的Person类等: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候 ...
- mybatis中#{}和${}传参的区别
最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, 比如说用#{},和 ${}传参的区别, 使用#传入参数是,sql语句解析是会加上"&qu ...
- Mybatis中resultMap和resultType的区别
MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性 ...
- mybatis中count(*)与count (*)的区别
mysql脚本编码设置: count() 可以正常运行, count ()会报错
最新文章
- Android Studio找不到org.apache.http中的类
- 润乾设计器连接数据源,ie预览问题
- 印度威普罗集团斥资5 亿美元收购云计算解决方案供应商 Appirio
- 紫米创始人张峰兼任小米笔记本总经理
- JVM调优总结(转)
- STL中的关联式容器——map(映射)
- LoadRunner教程(29)-LoadRunner监控Tomcat
- python数据转换成pdf_用python把ipynb文件转换成pdf文件过程详解
- YouTube如何开启双语显示
- Word 2016 撰写论文(6): 取消/撤销 自动编号
- oracle数据库统计信息的重要性
- 打印机后台服务器修复,打印机后台服务程序被禁用怎么修复?
- Mybatis+MySql中字段名为保留字(关键字)的情况
- 853-两台计算机之间是如何通信的?
- win10隐藏任务栏_win10系统任务栏彰显个性的设置方法
- 六大学习趋势正重塑在线教育产业-网络线上教学
- Logstash 时区问题
- 传奇装备信息悬浮框(悬浮框在哪里可以弄出来)
- Greenplum 6.9 资源组中文文档
- 【Linux】大数据开发中常用的shell命令
热门文章
- 自定义实现IOC与DI
- 2019滴滴java面试总结 (包含面试题解析)
- 邓俊辉数据结构与算法学习笔记-第四章
- 计算机连接不上蓝牙鼠标,蓝牙鼠标连接不上电脑怎么办_蓝牙鼠标连接不上电脑的解决办法...
- matlab 模拟心电图,使用原生js+canvas实现模拟心电图的实例
- detectron2 学习笔记
- 学设计的考PMP证书有用吗?
- NTL密码算法开源库——大整数ZZ类(四)
- mac数字键盘错乱_苹果笔记本数字键盘打不出数字怎么办_苹果笔记本按不出数字如何解决-win7之家...
- 在VB.NET中生成随机数