10.4 MyBatis事务管理 10.4.2Transaction接口
MyBatis
事务设计的重点是org.apache.ibatis.transaction.Transaction
接口,Transaction
接口个实现类,分别是org.apache.ibatis.transaction.jdbc.JdbcTransaction
和org.apache.ibatis.transaction.Managed.ManagedTransaction
。
同时MyBatis
还设计了org.apache.ibatis.transaction.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
等来实现对事务的管理。