Spring Boot事务管理

事务管理

事务进阶

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

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

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

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

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

案例

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

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

相关推荐
超级数据查看器3 分钟前
超级数据查看器 更新日志(包含的功能)
android·java·数据库·sqlite·安卓
青衫码上行12 分钟前
如何构建maven项目
java·学习·maven
不穿格子的程序员16 分钟前
JVM篇2:根可达性算法-垃圾回收算法和三色标记算法-CMS和G1
java·jvm·g1·根可达性算法·三色标记算法
凌冰_19 分钟前
Thymeleaf Maven+Servlet+Mysql图书框架—2(八)
java·mysql·maven
indexsunny21 分钟前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景中的应用解析
java·数据库·spring boot·微服务·maven·flyway·电商
sunnyday042622 分钟前
从混乱到清晰:Maven 依赖版本管理最佳实践
java·spring boot·后端·maven
roman_日积跬步-终至千里26 分钟前
【大数据框架】Calcite 基础概念:从 SQL 到执行计划的思维路径
java·大数据·sql
cypking30 分钟前
后端框架搭建完全指南
java
roman_日积跬步-终至千里32 分钟前
【SQL】SQL 语句的解析顺序:理解查询执行的逻辑
java·数据库·sql
雨中飘荡的记忆33 分钟前
Spring Test 从入门到实战
java·后端·spring