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
等来实现对事务的管理。