Spring事务学习总结

一、事务的特性:
1、原子性:事务不可分割,事务里面的操作要么全部成功,要么全部失败。

2、一致性:事务执行前后,数据的完整性必须一致。
3、隔离性:多个用户操作并发修改数据库记录,事务操作之间不能相互影响覆盖。通过设置数据库的隔离级别来保证隔离级别。
4、持久性:数据库记录被修改之后是永久的,即便数据库出现故障记录也不应被改变。

二、事务的接口:
 
 
1、PlatformTransactionManager(平台事务管理器)
2、TransactionDefinition(事务定义信息:隔离级别、传播方式、超时、只读)
    脏读:一个事务读到另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。     不可重复读:在同个事务里,读到另一个事务已经提交的更新的数据,导致这个事务多次查询结果不一致。不可重复读        对应的是修改,即UPDATE操作     幻读:一个事务读取了几条记录后,另一个事务已经提交了一些数据,之后再查询时,会发现出现一些原来没有的数据        。幻读对应新增INSERT    隔离级别:       READ_UNCOMMIT:可以出现脏读、不可重复读、幻读       READ_COMMITED:避免脏读,会出现不可重复读、幻读       REPEAT_READ:避免出现脏读和不可重复读,可能出现幻读(就是在开始读取数据(事务开启)时,不再允许修改操作)       Serializable:是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。   大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。Mysql的默认隔离级别是Repeatable read。
3、TransactionStatus(事务运行状态)

 


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值