MyBatis中jdbc和managed的区别
来源:互联网 发布:第一源码网 编辑:程序博客网 时间:2024/06/10 08:32
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操作都是无效的。
- MyBatis中jdbc和managed的区别
- Mybatis事务(一)事务管理方式(JDBC和MANAGED)
- Mybatis和JDBC区别
- Mybatis和JDBC区别
- MyBatis-事务管理机制(JDBC/Managed)
- mybatis中#和$的区别
- mybatis中#和¥的区别
- Mybatis中#和$的区别
- Mybatis中#和$的区别
- mybatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中#和$的区别
- mybatis中#{}和${}的区别
- Mybatis中#和$的区别
- MyBatis中#{}和${}的区别
- Mybatis中#和$的区别
- MyBatis中#和$的区别
- Java实现-K数和
- BZOJ 1590: [Usaco2008 Dec]Secret Message 秘密信息 Trie树
- 快速上手写spark代码系列03:开始写一个spark小脚本(1)
- POJ 3683 Priest John's Busiest Day / OpenJ_Bailian 3788 Priest John's Busiest Day
- 《java并发编程实战》笔记(第4章)
- MyBatis中jdbc和managed的区别
- 调用ThunderAgent 迅雷局域网版的开发
- find mtime的时间算法
- Java方法中 访问url 下载链接,下载文件
- shell实现进度条
- 【每天一点Linux】shell脚本学习之二——语法
- Android触屏事件和MotionEvent介绍
- 【长沙·签约】中企动力携手郴州市城市规划设计院布局一站式全网门户平台
- php多图片和文字合成最终图片