Spring Boot事务管理

事务管理

事务进阶

如果在删除了部门之后,出现了异常。那么就会出现部门被删除之后其中的员工并未被删除。

@Transactional注解,在事务执行完成之后自动提交或者回滚。只需要在执行多次数据修改的事务上加上该注解即可。(比如两次Update或者两次Delete,思考:Update加Select呢?)

只有运行时异常才会被上面的注解回滚

这样设置表示出现所有异常都会回滚

表示A和B两者之间的传播关系

案例

将记录日志的操作放在Finally中,这样无论是否抛出异常都会执行下面的语句

因为默认为Required传播方法,所以这两个事务实际上是同一个事务。所以在第一个事务抛出异常之后直接进行了回滚,不会继续执行insert操作。只需要将事物的propagation参数设置成Requires_New即可。

相关推荐
不要再敲了41 分钟前
JDBC从入门到面试:全面掌握Java数据库连接技术
java·数据库·面试
潇I洒1 小时前
若依4.8.1打包war后在Tomcat无法运行,404报错的一个解决方法
java·tomcat·ruoyi·若依·404
方圆想当图灵1 小时前
如何让百万 QPS 下的服务更高效?
分布式·后端
凤山老林1 小时前
SpringBoot 轻量级一站式日志可视化与JVM监控
jvm·spring boot·后端
凡梦千华2 小时前
Django时区感知
后端·python·django
Funcy2 小时前
XxlJob 源码分析05:执行器注册流程
java
Boop_wu2 小时前
[数据结构] 队列 (Queue)
java·jvm·算法
无敌的神原秋人2 小时前
关于Redis不同序列化压缩性能的对比
java·redis·缓存
Chan162 小时前
JVM从入门到实战:从字节码组成、类生命周期到双亲委派及打破双亲委派机制
java·jvm·spring boot·后端·intellij-idea