您的当前位置:首页>全部文章 >"博客"内的文章 >文章详情
springboot-jdbc 事务控制
发表于:2022-06-23 10:28:40浏览:153次TAG: #springboot


Springboot 事务控制,添加依赖,springboot 开启事务管理


    org.springframework.boot

    spring-boot-starter-jdbc


  • 注解方式 @Transactional,自动开启事务,异常自动回滚

@Transactional
public String functionName(){
    ....//业务代码
}


  • 注解方式@Transactional + try/catch 自动开启事务,catch手动回滚

@Transactional
public String functionName(){
    try{
        ....//业务代码
    }catch(Exception exception){
        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//关键,try/catch会导致事务不回滚,主动回滚
    }
}


  • 手动开启事务 + try/catch 手动回滚

@Autowired
DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
TransactionDefinition transactionDefinition;
public String functionName(){
    TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);//开启事务
    try {
        ....//业务代码
        dataSourceTransactionManager.commit(transactionStatus);//提交
    }catch (Exception exception){
        dataSourceTransactionManager.rollback(transactionStatus);//回滚
    }
}


登录 登录阅读全文