0
点赞
收藏
分享

微信扫一扫

Spring之事务管理总结

什么是事务

  • 在数据库 一组操作中 要么全部成功 要么全部失败 简单说 就是增删改查 要么全部成功 要么全部失败

事务有什么特性ACID

  • 原子性:原子性不可分割 整个操作要么都成功 要么都失败
  • 一致性:数据 事务前后的数据保持一致
  • 持久性:指事务一旦被提交 就无法被修改
  • 隔离性:两个事务之间 并发访问的情况

        

隔离有什么问题

  • 脏读:一个事务读到另一个事务没有提交的数据
  • 不可重复读:一个事务读到另一个事务已经提交的事务(update)
  • 幻读:一个事务读到另一个事务已经提交的事务(insert)

 隔离级别有哪些

  • 读未提交:一个事务读到另一个事务没有提交的数据(存放3个问题 解决0个问题)
  • 读已提交:一个事务读到另一个事务已经提交的数据(存放2个问题 解决1个问题 脏读)
  • 可重复读:在一个事务中读到的数据是重复的(存放1个问题 解决2个问题 脏读 不可重复读)
  • 串行化:单事务(存放0个问题 解决3个问题 脏读 不可重复读 幻读)

对比:

        性能:读未提交  >  读已提交  >  可重复读  >  串行化

        安全:串行化  <  可重复读  <  读已提交  <  读未提交

默认隔离级别:

        ——mysql:可重复读

        ——Oracle:读已提交(Oracle有自己的一套安全管理事务)

事务管理平台管理器【重点】

在spring-tx里面有一个事务管理平台管理器中 有一个getTransaction方法 参数是一TransactionDefinition事务定义

Spring之事务管理总结_后端

 事务定义中有隔离级别 传播行为等

Spring之事务管理总结_数据_02

什么是传播行为?

        一个事务调用另一个事务 事务共享问题

举报

相关推荐

0 条评论