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  

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




  • 相关阅读:
    22-Camping野营-露营
    node留言板
    js中const,var,let区别
    app消息推送
    Vue + Mui
    七牛云图片存储---Java
    springboot---发送邮件
    SSM简易版
    Hibernate---快速入门
    Vue---mock.js 使用
  • 原文地址:https://www.cnblogs.com/zhucww/p/9167630.html
Copyright © 2011-2022 走看看