spring事物

spring事务定义

事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败

事物四大特性

原子性(atomicity):强调事务的不可分割
一致性(consistency):事务的执行的前后数据的完整性保持一致
隔离性(isolation):一个事务执行的过程中,不应该受到其他事务的干扰
持久性(durability):事务一旦结束,数据就持久到数据库

如果不考虑隔离性引发安全性问题

脏读 :一个事务读到了另一个事务的未提交的数据
不可重复读 :一个事务读到了另一个事务已经提交的update的数据导致多次查询结果不一致
虚幻读 :一个事务读到了另一个事务已经提交的 insert 的数据导致多次查询结果不一致

事务隔离级别

1.DEFAULT这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离                                                                                               级别.
2.未提交读(read uncommited).脏读,不可重复读,虚读都有可能发生
3.已提交读(read commited):避免脏读。但是不可重复读和虚读有可能发生
4.可重复读(repeatable read):避免脏读和不可重复读.但是虚读有可能发生
5.串行化的(serializable)避免以上所有读问题.
6.Mysql 默认:可重复读
7.Oracle 默认:读已提交

事物的传播机制(PROPAGATION_)

1.REQUIRED:支持当前事务,如果没有事务会创建一个新的事务。
2.SUPPORTS:支持当前事务,如果没有事务的话以非事务方式执行。
3.MANDATORY:支持当前事务,如果没有事务抛出异常。
4.REQUIRES_NEW:创建一个新的事务并挂起当前事务。
5.NOT_SUPPORTED:以非事务方式执行,如果当前存在事务则将当前事务挂起。
6.NEVER:以非事务方式进行,如果存在事务则抛出异常。
7.NESTED:如果当前存在事务,则在嵌套事务内执行,如果当前没有事务,则进行与REQUIRED类                        似的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值