@Slf4j
@Service
public class MemberService {

    @Autowired
    private MemberMapper memberMapper;

    @Transactional
    public Integer insert(MemberEntity memberEntity) {
        Integer insertResult = 0;
        try {
            insertResult = memberMapper.save(memberEntity);
            log.info("insertResult:{}", insertResult);
            int result = 1 / memberEntity.getAge();
        } catch (Exception e) {
            log.error("errorMsg:{}", e.getMessage());
            //回滚
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
        return insertResult;
    }
}

如上标红代码,如果不写的话,事务是不会回滚的。因为事务被 catch 捕获到了,所以只能手动的进行事务回滚。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2022-01-21
  • 2021-05-01
  • 2021-10-01
猜你喜欢
  • 2022-12-23
  • 2021-05-16
  • 2022-02-06
  • 2021-07-15
  • 2021-08-29
相关资源
相似解决方案