原文: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的区别相关推荐

  1. mybatis中association 和collection 的区别

    mybatis中association 和collection 的区别:https://zhidao.baidu.com/question/1240407172484106299.html 两个实体类 ...

  2. MyBatis中的#和$之间的区别

    MyBatis 中使用 parameterType 向 SQL 语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型. 在SQL中引用这 ...

  3. MyBatis中#{}和${}的作用与区别

    在mybatis中#和$的主要区别是:#传入的参数在SQL中显示为字符串,#方式能够很大程度防止SQL注入:$传入的参数在SQL中直接显示为传入的值,$方式无法防止SQL注入. 1.传入的参数在SQL ...

  4. 在mybatis中resultMap与resultType的区别

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...

  5. mybatis中resultType和resultMap的区别

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...

  6. Mybatis中的resultType与resultMap区别

    都可以返回一种数据类型,比如String,Long,自定义的Person类等: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候 ...

  7. mybatis中#{}和${}传参的区别

    最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, 比如说用#{},和 ${}传参的区别,  使用#传入参数是,sql语句解析是会加上"&qu ...

  8. Mybatis中resultMap和resultType的区别

    MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性 ...

  9. mybatis中count(*)与count (*)的区别

    mysql脚本编码设置: count() 可以正常运行, count ()会报错

最新文章

  1. Android Studio找不到org.apache.http中的类
  2. 润乾设计器连接数据源,ie预览问题
  3. 印度威普罗集团斥资5 亿美元收购云计算解决方案供应商 Appirio
  4. 紫米创始人张峰兼任小米笔记本总经理
  5. JVM调优总结(转)
  6. STL中的关联式容器——map(映射)
  7. LoadRunner教程(29)-LoadRunner监控Tomcat
  8. python数据转换成pdf_用python把ipynb文件转换成pdf文件过程详解
  9. YouTube如何开启双语显示
  10. Word 2016 撰写论文(6): 取消/撤销 自动编号
  11. oracle数据库统计信息的重要性
  12. 打印机后台服务器修复,打印机后台服务程序被禁用怎么修复?
  13. Mybatis+MySql中字段名为保留字(关键字)的情况
  14. 853-两台计算机之间是如何通信的?
  15. win10隐藏任务栏_win10系统任务栏彰显个性的设置方法
  16. 六大学习趋势正重塑在线教育产业-网络线上教学
  17. Logstash 时区问题
  18. 传奇装备信息悬浮框(悬浮框在哪里可以弄出来)
  19. Greenplum 6.9 资源组中文文档
  20. 【Linux】大数据开发中常用的shell命令

热门文章

  1. 自定义实现IOC与DI
  2. 2019滴滴java面试总结 (包含面试题解析)
  3. 邓俊辉数据结构与算法学习笔记-第四章
  4. 计算机连接不上蓝牙鼠标,蓝牙鼠标连接不上电脑怎么办_蓝牙鼠标连接不上电脑的解决办法...
  5. matlab 模拟心电图,使用原生js+canvas实现模拟心电图的实例
  6. detectron2 学习笔记
  7. 学设计的考PMP证书有用吗?
  8. NTL密码算法开源库——大整数ZZ类(四)
  9. mac数字键盘错乱_苹果笔记本数字键盘打不出数字怎么办_苹果笔记本按不出数字如何解决-win7之家...
  10. 在VB.NET中生成随机数