文章目录
在SpringBoot中使用事务比较简单,大部分场景下,直接借助@Transactional
注解即可,本文将介绍一下Jooq中使用事务的两种方式
I. 项目搭建
本项目借助SpringBoot 2.2.1.RELEASE
+ maven 3.5.3
+ IDEA
进行开发
1. 项目依赖
关于如何创建一个SpringBoot的项目工程,不再本文的描述范围内,如有兴趣可以到文末的个人站点获取
在这个示例工程中,我们的选用h2dabase作为数据库(方便有兴趣的小伙伴直接获取工程源码之后,直接测试体验),因此对应的pom核心依赖如下
1 | <dependencies> |
2. 数据准备
本文对应的项目工程,和前面介绍增加删除的一致,所以这里直接使用之前新增的数据
II. 使用姿势
0. 前期准备
1 |
|
1. @Transactional 注解用法
直接借助Spring的@Transactional
注解来实现事务相关业务逻辑,在实际的时候需要注意一下,使用姿势不当,可能导致事务不生效,对此有疑问的小伙伴,可以查看博文【SpringBoot DB系列】事务不生效的几种case
1 | (rollbackFor = Exception.class) |
2. jooq声明式事务
一般使用Spring的@Transactional
注解时,需要注意不能是同类的内部方法调用,因为这样不会走代理,导致事务不生效;
如果确实存在事务的业务需求,但是又不想拆分到另外一个对象类,那么可以考虑一下声明式事务的用法,如下
1 | public void trans2() { |
3. 测试
1 |
|
实际输出如下
1 | true |
II. 其他
0. 项目
系列博文
- 【SpringBoot DB系列】Jooq之多表联合查询
- 【SpringBoot DB系列】Jooq之常用函数使用姿势
- 【SpringBoot DB系列】Jooq之聚合查询
- 【SpringBoot DB系列】Jooq之记录查询基础篇
- 【SpringBoot DB系列】Jooq批量写入采坑记录
- 【SpringBoot DB系列】Jooq之记录更新与删除
- 【SpringBoot DB系列】Jooq之新增记录使用姿势
- 【SpringBoot DB系列】Jooq代码自动生成
- 【SpringBoot DB系列】Jooq初体验
项目源码
- 工程:https://github.com/liuyueyi/spring-boot-demo
- 项目源码: https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/108-jooq-curd
1. 一灰灰Blog
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
- 一灰灰Blog个人博客 https://blog.hhui.top
- 一灰灰Blog-Spring专题博客 http://spring.hhui.top