Spring事务学习笔记

本文介绍了数据库事务的四大特性(ACID),包括原子性、一致性、隔离性和持久性,并详细阐述了事务隔离级别及其引发的数据并发问题,如脏读、不可重复读和幻读。此外,还探讨了Spring框架中的事务传播特性,包括其七种不同的行为模式,为开发者在实际应用中处理事务提供了指导。
摘要由CSDN通过智能技术生成

目录

什么是事务?

一、事务的四大特性(ACID)

原子性(Atomicity):

一致性(Consistency):

隔离性(Isolation):

持久性(Durability):

二、事务隔离级别

数据并发问题

1.脏写(Dirty Write)

2.脏读(Dirty Read)

3.不可重复读(Non-Repeatable Read)

4.幻读(Phantom)

sql中的四种隔离级别

小结

三、Spring事务的传播特性

是什么?

spring事务的七种传播特性表格


什么是事务?

是数据库操作的最小工作单元,是作为单个逻辑工作执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行,要么都不执行,事务是一组不可在分割的操作几何。

一句话:一荣俱荣一辱俱辱。

一、事务的四大特性(ACID)

  • 原子性(Atomicity):

        事务中的所有操作是不可在分割的原子单位。所有操作都是一荣俱荣一辱俱辱

  • 一致性(Consistency):

        事务执行后,数据库状态与其他业务规则保持一致。如转账业务,无论事务是否成功,参与转账的两个账号余额之和应该是不变的

  • 隔离性(Isolation):

        隔离性是指在并发操作中,不同事物之间应该隔离开的,是每个并发中的事务互不干扰。

  • 持久性(Durability):

        一旦事务提交成功,事务中的所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时,也必须能保证通过某种机制恢复数据。

二、事务隔离级别

数据并发问题

1.脏写(Dirty Write)

对于两个事务A,B,如果事务A修改了另一个未提交事务B修改过的数据,就意味着发生了脏写

2.脏读(Dirty Read)

事务A读取了已经被事务B更新了但是还没被提交的字段。之后若事务B回滚,事务A读取的内容就是临时切无效的。

3.不可重复读(Non-Repeatable Read)

事务A读取了一个字段,然后事务B更新了字段,之后事务A再次读取同一个字段,值就不同了。那就意味着发生了不可重复度。

4.幻读(Phantom)

事务A读取了一个字段,然后事务B在该表插入了一些新的行。之后如果事务A再次读取同一个表,就会多出几行。

sql中的四种隔离级别

小结:

数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性
就越好,但并发性越弱

三、Spring事务的传播特性

是什么?

就是当一个事物方法被另一个事务方法调用时,这个事务方法应该如何进行

spring事务的七种传播特性表格

事务的执行流程

https://download.csdn.net/download/qq_63815371/87705243?spm=1001.2014.3001.5501https://download.csdn.net/download/qq_63815371/87705243?spm=1001.2014.3001.5501

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值