zoukankan      html  css  js  c++  java
  • 关于Spring的事务传播行为和Mysql事务隔离级别

    Spring的7种事务传播行为:

    1.required(默认) :如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。方法A开启一个事务,方法A中执行方法B,B的事务会加入到方法A中,两者同生共死。

    2.supports :如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。

    3.mandatory :如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。

    4.requires_new :无论如何开启一个新的事务。如果一个事务已经存在,则先将这个存在的事务挂起。两个事务互不干扰。

    5.not_supported :总是非事务地执行,并挂起任何存在的事务。

    6.never :总是非事务地执行,如果存在一个活动事务,则抛出异常。

    7.nested :如果一个活动的事务存在,则运行在一个嵌套的事务中。外层事务失败时,会回滚内层事务所做的动作。而内层事务操作失败并不会引起外层事务的回滚。

    事务的四个特性(ACID):原子性,一致性,隔离性,持久性

    Mysql的事务隔离级别:

    事务隔离级别             并发可能会出现的问题

    1.读未提交                 脏读-不可重复读-幻读

    2.读已提交                 不可重复读-幻读

    3.可重复读                 幻读

    4.串行化                     皆可避免

  • 相关阅读:
    码农的自我修养
    工程化编程实战callback接口学习笔记
    eval代码执行漏洞
    CTF_show WEB1通过order排序读取数据库数据(特定场景)
    Python的ico_hash计算脚本
    FOFA网页爬取最新 批量版本
    利用Python爬取fofa网页端数据
    利用Python进行Payload分离免杀
    [Gym101653Q]Number Game
    傅里叶变换
  • 原文地址:https://www.cnblogs.com/codecodeandcode/p/12580101.html
Copyright © 2011-2022 走看看