首页 > 数据库技术 > 详细

关于Spring的事务传播行为和Mysql事务隔离级别

时间:2020-03-27 11:25:31      阅读:79      评论:0      收藏:0      [点我收藏+]

Spring的7种事务传播行为:

1.required(默认) :如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。方法A开启一个事务,方法A中执行方法B,B的事务会加入到方法A中,两者同生共死。

2.supports :如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。

3.mandatory :如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。

4.requires_new :无论如何开启一个新的事务。如果一个事务已经存在,则先将这个存在的事务挂起。两个事务互不干扰。

5.not_supported :总是非事务地执行,并挂起任何存在的事务。

6.never :总是非事务地执行,如果存在一个活动事务,则抛出异常。

7.nested :如果一个活动的事务存在,则运行在一个嵌套的事务中。外层事务失败时,会回滚内层事务所做的动作。而内层事务操作失败并不会引起外层事务的回滚。

 

事务的四个特性(ACID):原子性,一致性,隔离性,持久性

Mysql的事务隔离级别:

事务隔离级别             并发可能会出现的问题

1.读未提交                 脏读-不可重复读-幻读

2.读已提交                 不可重复读-幻读

3.可重复读                 幻读

4.串行化                     皆可避免

关于Spring的事务传播行为和Mysql事务隔离级别

原文:https://www.cnblogs.com/codecodeandcode/p/12580101.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!