getprivateprofilestring读不到数据_Spring4基础三二-数据库篇-事务管理-1

本文详细介绍了事务的基本概念,包括事务的四大特性——原子性、一致性、隔离性和持久性,并深入探讨了不同的事务隔离级别,如读未提交、读已提交、可重复读和串行化,以及它们可能导致的问题。通过本文,读者可以更好地理解数据库事务在确保数据一致性和完整性方面的重要性。
摘要由CSDN通过智能技术生成

上一章节《Spring4基础三一-数据库篇-JDBC模板-3》

如果文中有纰漏,请多多指正!!!

事务的概念

一、事务是什么

事务是应用程序中一系列严密的操作(典型的:银行转账业务),所有操作必须全部成功完成,否则所有已成功的操作都会被撤消。也就是说,在一个事务中的一系列的操作的最终结果是要么全部成功,要么一个都不做。

二、事务的特征ACID

1.原子性(Atomicity)

原子性是指一个事务是一个不可分割的工作单元,事务包含的所有操作要么全部完成,要么完全不起作用。

2.一致性(Consistency)

一致性是指事务执行前后,处理的数据必须处于一致的状态,而不会是部分完成部分失败。也就是事务要求所有的DML语句操作,必须保证同时成功或同时失败(失败回滚)。

3.隔离性(Isolation)

隔离性是指多个事务并发执行的时候,事务内部的操作与其他事务是隔离的,并发执行的各个事务之间不能互相干扰。也就是一个事务不会影响其它事务的运行;

4.持久性(Durability)

持久性是指在事务完成后,该事务对数据库所作的更改将持久地保存在数据库中,无论发生什么系统错误,结果数据都不应该受到影响;

三、事务的隔离级别

1.read uncommitted 未提交(级别最低)

1) 事务A和和事务B,事务A未提交的数据,事务B可以读取2) 事务B读取到的数据可以叫做“脏数据”或者“脏读 Dirty Read”3) 读未提交隔离级别最低,数据库默认隔离级别一般都高于该隔离级别;

2.read committed 读已提交

1) 事务A和事务B,事务A已提交的数据,事务B才可读取到;2) 该隔离级别可以避免脏数据;3) 该隔离级别能够导致“不可重复读取”(事务A提交前后,B事务读取到的数据前后不一致)4) 该隔离级别可以避免脏数据;

3.repeatable read 可重复读

1) 事务A和事务B,事务A提交之后的数据,事务B读取不到;也就是说,事务A提交前后,事务B读取到数据都是事务A提交之前的数据。2) 对于B事务来说,虽然可以达到“可重复读”效果,但是会导致“幻象读”(A事务提交后,数据已变更,B事务还是读取A事务提交前的数据)。3) 这种隔离级别可以避免“脏读和不可重复读”

4.serializable 串行化

1) 事务A和事务B,事务A在操作数据库表中数据的时候,事务B叧能排队等待。2) 最安全的,但是吞吐量太低,用户体验不好。
178c9cf1507e9076a047320ef32d0227.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值