springBoot事务的基本使用
单机系统基本注解事务(@Transactional)的使用:
情况1:运行时异常,触发回滚。
@Transactional
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
System.out.println(1/0);
}
情况2:非运行时异常,因为rollbackFor默认是:runtimeException, 不触发回滚
@Transactional
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
File fl=new File("/dddd");
}
情况3:非运行时异常,指定rollbackFor,发生回滚
@Transactional(rollbackFor = Exception.class)
public String addUser() throws FileNotFoundException{
userInfoService.addUser(user);
File fl=new File("/dddd");
}
情况4:不指定rollbackFor,但使用编程在发生异常时回滚,一般用于切面编程
@Transactional
public String addUser() {
userInfoService.addUser(user);
File fl=new File("/dddd");
try {
FileInputStream fs=new FileInputStream(fl);
} catch (FileNotFoundException e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】