spring 中的事务管理

事务:原子性,一致性,隔离性,持久性。
一致性就是最终目标,保证正确。

数据并发问题:
脏读:A事务更改数据未提交,B事务读取
不可重复读:A事务读取的过程中,B事务修改数据,两次读的同一个值不一样。(修改或者删除)
幻象读:和不可重复读类似,这次是新增
第一类丢失更新:A提交,B提交,回滚破坏了数据。
第二类丢失:A提交,B 提交,覆盖了数据。

数据库锁:表锁定,行锁定,又可以分为共享锁定,和独占锁定。

事务隔离级别:
Read uncommited 第一类丢失
Read committed 脏读,第一类丢失。
Repeatable Read
Serializable
隔离级别和并发性是对立的。

提交,回滚,设置回滚点。

spring对事物管理的支持:
TransactionDefinition:定义事务隔离,事务传播,事务超时,只读状态。等配置属性。
platformTransactionManager:可以根据配置,产生事务。事务管理器接口
TransacitionStatus:代表事务的具体运行状态

spring将事务管理委托给底层具体的持久化实现框架来完成
不同的持久化框架有不同事务管理器实现类。implement PlatformTransactionManager
事务同步管理器:使用ThreadLocal实现线程安全

事务传播行为:

一个@Transaction 就可以搞定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值