spring 事务 属性 隔离级别

事务的属性:

1 *propagation:用来设置事务的传播行为 事务的传播行为:一个方法运行在另一个开启了事务的方法中时,当前方法是使用原来的事务还是开启另一个新事务

--Propagation.REQUIRED 默认的 使用原来的事务

---Propagation.REQUIRES_NEW 将原来的事务挂起,开启一个新事务

2 *isolation: 用来设置事务的隔离级别

Isolation.REPEATABLE_READ: MYSQL的默认隔离级别 可重复读。

solation.READ_COMMITTED: ORACLE默认隔离级别,

开发时通常使用的隔离级别

方法上标注:@Transactional(propagation=Propagation.REQUIRES_NEW)

事务的隔离级别

1 数据库事务并发问题: 脏读(读了别人更新后回归之前的值) 不可重复读(都别人更新前和更新后的值,前后不一致) 幻读(读别人插入之前之后的部分数据(针对表,不针对字段))

2 事务的隔离级别:一个事务跟其他事务的隔离程度。隔离程度越高,数据一致性越好,并发程度越弱。 读未提交READ_UNCOMMITTED 不可避免 读已提交READ_COMMITTED 避脏读 不能避免不可重复度 可重复读REPEATABLE_READ(事务执行期间禁止其他事务对该字段进行更新) 避免脏读 不可重复读 串行化SERIALIZABLE(执行期间禁止其他事务对该表进行添加 、更新、删除操作。)

避免任何并发问题 方法上标注:@Transactional(propagation=Propagation.REQUIRES_NEW,isolation=Isolation.DEFAULT)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值