@Transactional 详解

springboot 事务使用

  1. 只有在开启事务的方法中出现异常,才会自动回滚,需要在service的public方法上面加上
    @Transactional(rollbackFor = Exception.class),一旦程序出现异常,事务会自动回滚

在这里插入图片描述

@Transactional(rollbackFor = Exception.class)
  1. 如果在try-catch语句中对可能出现的异常进行了处理,没有再手动throw异常,spring认为该方法成功执行,不会进行回滚;

在这里插入图片描述

  1. 对于2中出现的情况,这时手动throw抛出异常,事务仍会自动回滚

在这里插入图片描述

  1. 或者也可以使用如下进行手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐