SpringBoot整合MySQL事务,实战用法+异常处理

SpringBoot整合MySQL事务,实战用法+异常处理
前言实际开发几乎不用手写 BEGIN/COMMIT全部使用Spring 声明式事务。本篇带你从零掌握 SpringBoot 事务实战。一、核心注解Transactional加在方法/类上自动开启事务、异常自动回滚。二、实战转账代码Service public class AccountService { Autowired private AccountMapper accountMapper; Transactional(rollbackFor Exception.class) public void transfer(){ // A减100 accountMapper.subMoney(A,100); // 模拟异常 int i 1/0; // B加100 accountMapper.addMoney(B,100); } }出现异常事务自动回滚不会出现单边扣款。三、新手必踩事务坑必须加 rollbackFor Exception.class否则默认只回滚运行时异常方法必须public内部调用事务失效A方法调用本类B事务方法无效try-catch 捕获异常不抛出事务不会回滚四、正确异常处理方式try{ // 业务 }catch (Exception e){ throw new RuntimeException(e); }五、总结SpringBoot 事务核心Transactional所有支付、订单、转账必须加事务注意事务失效四大场景避免生产事故