zoukankan      html  css  js  c++  java
  • springboot事物和事物回滚

    要添加事物 必须在方法上添加

    一.开启事物

    @Transactional 注解

    可以在注解后加(rollbackFor = Exception.class)

    代表 碰到所有异常都回滚 默认RuntimeException异常回滚

    @Transactional (rollbackFor = Exception.class)

    注意:如果自定义数据源或者多数据源是需要自定事物的!

    默认   mybatis-plus-boot-starter  或  mybatis-spring-boot-starter 会自动定义好事物

    自定义事物如下

    @Configuration
    @EnableTransactionManagement
    public class TransactionConfig {
        @Bean
        public PlatformTransactionManager txManager(DataSource dataSource) {
            return new DataSourceTransactionManager(dataSource);
        }
    }
    

     

    二.事物回滚

    如果需要事物回滚有两个条件

    1.方法中有异常或者主动抛异常

    2.主动去回滚

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

    注意 : 如果遇到 org.springframework.transaction.NoTransactionException: No transaction aspect-managed TransactionStatus  

    说明容器中没有定义事物,需要自定义事物




  • 相关阅读:
    [ext4]空间管理
    [ext4] 磁盘布局
    [ext4]磁盘布局
    [ext4]08 磁盘布局
    [ext4]07 磁盘布局
    [ext4]06 磁盘布局
    [ext4]05 磁盘布局
    jQuery之链式编程
    jQuery之排他思想
    jQuery之筛选方法
  • 原文地址:https://www.cnblogs.com/zhucww/p/9167630.html
Copyright © 2011-2022 走看看