Mybatis:事务管理机制详解
事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃执行。
Mybatis的事务管理分为两种形式:JDBC
和MANAGED
Mybatis 事务管理机制
事务概述
事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃执行。
事务具备的四个特性(ACID
):
- 原子性:事务是应用中不可再分的最小逻辑执行体。
- 一致性:事务执行的结果,必须使数据库的状态从一种一致状态,变到另一种一致状态,一致性是通过原子性来保证的。
- 隔离性:并发执行的事务之间互不影响。
- 持续性:事务一旦提交,保存到物理数据库中。
数据库的事务而言,具有以下几个动作:创建、提交、回滚、关闭
。
事务管理
Mybatis的事务管理分为两种形式:
JDBC的事务管理
即利用java.sql.Connection
对象完成对事务的提交(commit()
),回滚(rollback()
)和关闭(close()
)等操作。
1 | <!-- 配置环境:数据源,事务,配置多个环境 default:设置当前默认使用环境。 |
MANAGED的事务管理
此种机制,Mybatis自身不会去实现事务管理,即提交和回滚时是什么都没有做,而是让容器如WebLogic,JBOSS等来实现对事务的管理。