码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring的两种事务处理方式及五大隔离级别


    目录

    Spring的两种事务处理方式

     1)注解式的事务

      2)声明式事务(必须掌握)

    ​Spring中事务的五大隔离级别

    1).未提交读(Read Uncommitted):

    2).提交读(Read Committed):

    3).可重复读(Repeated Read):

    4).串行读(Serializable):

    5).使用数据库默认的隔离级别isolation = Isolation.DEFAULT


    Spring的两种事务处理方式

    spring支持编程式事务管理和声明式事务管理两种方式。
    编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。

    声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。

     1)注解式的事务

    使用@Transactional注解完成事务控制,此注解可添加到类上,则对类中所有方法执行事务的设定.此注解可添加到方法上,只是对此方法执行事务的处理。
        


      2)声明式事务(必须掌握)

    在配置文件中添加一次,整个项目遵循事务的设定。
      

     


    Spring中事务的五大隔离级别

     
      1).未提交读(Read Uncommitted):

     允许脏读,也就是可能读取到其他会话中未提交事务修改的数据


      2).提交读(Read Committed):

    只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)


      3).可重复读(Repeated Read):

    可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读,但是innoDB解决了幻读

      4).串行读(Serializable):

    完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞
     

    5).使用数据库默认的隔离级别isolation = Isolation.DEFAULT


        MySQL:mysql默认的事务处理级别是'REPEATABLE-READ',也就是可重复读
        Oracle:oracle数据库支持READ COMMITTED 和 SERIALIZABLE这两种事务隔离级别。默认系统事务隔离级别是READ COMMITTED,也就是读已提交

  • 相关阅读:
    如何恢复被MALLOX勒索病毒加密的重要数据?
    面试系列 - Java内存泄漏问题排查
    散列表(1)-集合/用位向量实现集合
    kubeasz一键部署k8s集群
    beanutils.copyProperties()
    SpringBoot2.7.9 Profiles配置详解
    口罩问题
    详解【计算机类&面试真题】军队文职考试——第7期:C盘格式化需要注意什么?| 两台笔记本连起来后ping不同,可能存在哪些问题?| 模拟信号到数字信号是如何转化的?| 计算机由哪些部件组成?
    【STM32教程】第四章 STM32的外部中断EXTI
    【OpenCV 例程200篇】235. 特征提取之主成分分析(sklearn)
  • 原文地址:https://blog.csdn.net/weixin_48826996/article/details/126003315
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号