美文网首页
SpringBoot事物Transaction实战讲解教程

SpringBoot事物Transaction实战讲解教程

作者: 任嘉平生愿 | 来源:发表于2020-06-28 16:09 被阅读0次

    SpringBoot事物Transaction实战讲解教程 - 虚无境 - 博客园

    编程式事务管理      声明式事务管理

    TransactionTemplate      @Transactional

    默认情况下,数据库处于自动提交模式。使用spring进行事物管理的时候,spring会将是否自动提交设置为false,等价于JDBC中的 connection.setAutoCommit(false);,在执行完之后在进行提交,connection.commit(); 。

    隔离级别

    读未提交  读以提交(default) 可重复度 串行化

    不可重复读  (另外一个事务对数据进行了更新,读到了不同的结果.) 读锁和写锁冲突

    传播行为 (如果在开始当前事务之前,一个事务上下文已经存在)7种

    如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。这是默认值。

    创建一个新的事务,如果当前存在事务,则把当前事务挂起。

    如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。

    以非事务方式运行,如果当前存在事务,则把当前事务挂起。

    以非事务方式运行,如果当前存在事务,则抛出异常。

    如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。

    如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于TransactionDefinition.PROPAGATION_REQUIRED。

    事务回滚规则

    默认配置下,spring只有在抛出的异常为运行时unchecked异常时才回滚该事务,也就是抛出的异常为RuntimeException的子类(Errors也会导致事务回滚),而抛出checked异常则不会导致事务回滚。可以明确的配置在抛出那些异常时回滚事务

    事务常用配置

    readOnly(只读) rollbackFor(那些异常回滚)  propagation(传播行为) isolation(隔离级别)  timeout(超时会回滚)

    @EnableTransactionManagement     @Transactional

    嵌套事务总结_蓝天之枫-CSDN博客_嵌套事务

    相关文章

      网友评论

          本文标题:SpringBoot事物Transaction实战讲解教程

          本文链接:https://www.haomeiwen.com/subject/ljtaohtx.html