10.4 MyBatis事务管理 10.4.2Transaction接口
10.4 MyBatis事务管理 10.4.2Transaction接口
MyBatis事务设计的重点是org.apache.ibatis.transaction.Transaction接口.
Transaction接口及其实现类
Transaction接口有两个实现类,分别是:
org.apache.ibatis.transaction.jdbc.JdbcTransaction,org.apache.ibatis.transaction.Managed.ManagedTransaction。
TransactionFactory接口及其实现类
同时MyBatis还设计了org.apache.ibatis.transaction.TransactionFactory接口用来获取事务的实例对象。
TransactionFactory接口有如下两个实现类:
org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory,org.apache.ibatis.transaction.managed.ManagedTransactionFactor6y。
数据库事务动作
对数据库的事务而言,应该具有以下几个动作:
- 创建(
create)、 - 提交(
commit)、 - 回滚(
rollback)、 - 关闭(
close)。
Transaction接口
对应地,MyBatis将事务抽象成了Transaction接口。该接口源代码如下:
1 | public interface Transaction{ |
MyBatis事务管理机制
MyBatis的事务管理分为两种形式:
- 使用
JDBC的事务管理机制。即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())和关闭(close())等操作。 - 使用
MANAGED的事务管理机制。对于这种机制,MyBatis自身不会去实现事务管理,而是让容器如WebLogic、JBoss等来实现对事务的管理。