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  

說明容器中沒有定義事物,需要自定義事物

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM