前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring之事务管理总结

Spring之事务管理总结

作者头像
陶然同学
发布2023-02-24 09:37:02
1420
发布2023-02-24 09:37:02
举报
文章被收录于专栏:陶然同学博客

什么是事务

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

事务有什么特性ACID

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

隔离有什么问题

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

 隔离级别有哪些

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

对比:

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

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

默认隔离级别:

        ——mysql:可重复读

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

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

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

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

什么是传播行为?

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

具体的事务传播行为:【Spring学习34】Spring事务(4):事务属性之7种传播行为_程序老兵的博客-CSDN博客事务传播行为什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。 例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一个

https://blog.csdn.net/soonfly/article/details/70305683?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163853586116780357245908%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163853586116780357245908&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-70305683.pc_search_result_control_group&utm_term=%E4%BA%8B%E5%8A%A1%E4%BC%A0%E6%92%AD%E8%A1%8C%E4%B8%BA&spm=1018.2226.3001.4187

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是事务
  • 事务有什么特性ACID
  • 隔离有什么问题
  •  隔离级别有哪些
  • 事务管理平台管理器【重点】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档