一.事务的传播行为(七大事务传播方式)
1.REQUIRED(默认)
支持当前事务,如果不存在则创建一个新的事务
2.SUPPORTS
支持当前事务,如果不存在,则以非事务方式执行
3.MANDATORY
支持当前事务,如果不存在则抛出异常
4.REQUIRES_NEW
创建一个新事务,如果当前事务存在,则暂停当前事务
5.NOT_SUPPORTED
以非事务方式执行,如果存在当前事务,则暂停当前事务
6.NEVER
以非事务方式执行,如果存在事务则抛出异常
7.NESTED
如果当前事务存在,则在嵌套事务中执行
二.事务的隔离级别
1.DEFAULT(默认)
使用底层数据存储的默认隔离级别
SqlServer、Oracle 默认隔离级别为:Read Commited
MySQL InnoDB 默认隔离级别为:Repeatable Read
2.READ_UNCOMMITTED(读未提交)
一个事务可以读取另一个未提交事务的数据
3.READ_COMMITTED(读已提交)
一个事务要等另一个事务提交后才能读取数据
4.REPEATABLE_READ(重复读)
在开始读取数据(事务开启)时,不再允许修改操作
5.SERIALIZABLE(序列化)
数据库事务的最高隔离级别。在此级别下,事务串行执行。可以避免脏读、不可重复读、幻读等读现象。但是效率低下,耗费数据库性能,不推荐使用。
Springboot 事务
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 今天是平安夜,先祝大家平安夜快乐。 我们之前的数十篇文章分析了 Spring 和 Mybatis 的原理,基...