Spring——事务

本文详细介绍了数据库事务的ACID特性,包括原子性、一致性、隔离性和持久性,并探讨了不同隔离级别的概念,如脏读、不可重复读和幻读。接着,讨论了Spring的两种事务管理方式:编程式和声明式事务管理,以及Spring的事务传播行为。最后,提到了Spring的事务隔离设置,其默认遵循数据库的隔离级别,提供了从读未提交到序列化的不同选择。
摘要由CSDN通过智能技术生成

数据库事务ACID
原子性(atomicity)
一致性(consistency)
隔离性(isolation)
持久性(durability)
数据库事务隔离
读未提交,最低隔离级别,事务未提交前,就可被其他事务读取
读已提交,一个事务提交后才能被其他事务读取到
可重复读,保证多次读取同一个数据时,其值都和事务开始时候的内容是一致,禁止读取到别的事务未提交的数据,默认级别
序列化,代价最高最可靠的隔离级别,该隔离级别防止脏读,幻读,不可重复读

脏读 :表示一个事务能够读取另一个事务中还未提交的数据。比如,某个事务尝试插入记录 A,此时该事务还未提交,然后另一个事务尝试读取到了记录 A。

不可重复读 :是指在一个事务内,多次读同一数据。

幻读 :指同一个事务内多次查询返回的结果集不一样。比如同一个事务 A 第一次查询时候有 n 条记录,但是第二次同等条件下查询却有 n+1 条记录,这就好像产生了幻觉。发生幻读的原因也是另外一个事务新增或者删除或者修改了第一个事务结果集里面的数据,同一个记录的数据内容被修改了,所有数据行的记录就变多或者变少了。

Spring支持两种类型的事务管理:
编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。
声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。
Spring的事务传播行为
① PROPAGATION_REQUIRED&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值