Springboot 事务

一.事务的传播行为(七大事务传播方式)
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事务 https://blog.csdn.net/weixin_50626214/articl...
    4c40ca90d002阅读 624评论 0 1
  • 了解事务之前得了解几个概念: 1.脏读: 脏读简单来说就是提取未提交的数据 A事务读取B事务尚未提交的数据,此时如...
    要进大厂阅读 1,284评论 0 1
  • 一、隔离级别 1. 并发产生的问题 脏读:一个事务读到了另一个未提交事务修改过的数据 幻读:一个事务先根据某些条件...
    DrunkB阅读 651评论 0 0
  • 转自【一起来学SpringBoot(八)事务的控制 - fulinlin的博客 - CSDN博客】https://...
    VivianMQ阅读 6,290评论 0 1
  • 前言 今天是平安夜,先祝大家平安夜快乐。 我们之前的数十篇文章分析了 Spring 和 Mybatis 的原理,基...
    莫那一鲁道阅读 14,212评论 3 31