什么时候需要添加事务呢?
一般情况下,如果该方法有两条SQL语句或者以上都需要添加(个人感觉:)).


首先需要在我们的启动类加上

@EnableTransactionManagement //开启事务管理

接着我们在需要添加事务的方法上加上
@Transactional(propagation = Propagation.REQUIRED)

参数是规定我们的事务传播行为,一般是用required和support这两种行为,如果是增/删/改的话一般是用require,查的话一般是用support.

如果对事务的传播行为不太了解或者记不清了可以看看下面

  

Propagation

Required 需要 如果存在一个事务,则支持当前事务。如果没有事务则开启

Supports 支持 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行

Mandatory 必要的 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。

required_new 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。

Not_support 总是非事务地执行,并挂起任何存在的事务。

Never 绝不 总是非事务地执行,如果存在一个活动事务,则抛出异常

Nested 嵌套的 如果有就嵌套、没有就开启事务



												

springboot2.x如何添加事务的更多相关文章

  1. springmvc 用注解方式添加事务不生效解决方法

    springmvc 事务注册有很多种方法,在此我只mark 用注解方式添加transaction不生效的解决办法. springmvc 注解方法添加事务步骤: 1.在 spring的 root-con ...

  2. LoadRunner使用技巧之添加事务

    事务(Transaction)用于模拟用户的一个相对完整的.有意义的业务操作过程,例如登录.查询.交易.转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务. 以刚刚过去的双11淘宝为例 ...

  3. 代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性

    做人事档案的系统考虑到数据的安全性与一致性,毕竟是要对外上线.真正投入使用的项目,数据库的可靠性与安全性上我们开发人员要考虑的就很多了,记得做机房收费系统时注册新卡是自己为了简单,写成了一个存储过程( ...

  4. 添加事务后 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type available

    今天遇到了一个奇怪的问题   在没添加事务之前  所有的代码都是好的 , 当我添加了事务之后, 代码报错 org.springframework.beans.factory.NoSuchBeanDef ...

  5. nodejs sql --- 添加事务

    添加事务 let transaction; try { transaction = await this.ctx.model.transaction(); await this.ctx.model.C ...

  6. 在Controller中添加事务管理

    文章参考了此博客: https://blog.csdn.net/qq_40594137/article/details/82772545 写这篇文章之前先说明一下: 1. Controller中添加事 ...

  7. LoadRunner 技巧之 添加事务

    事务(Transaction)用于模拟用户的一个相对完整的.有意义的业务操作过程,例如登录.查询.交易.转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务. 拿笔者所测试的邮箱系统为例 ...

  8. sprint test 添加事务回滚机制

    1.原因: 单元测试的时候频繁操作数据库需要修改很多数据,造成不必要的操作,添加事务之后就可以重复对一条数据进行操作,并且在返回结果后进行回滚. 2.解决: 原先继承的是  AbstractJUnit ...

  9. SpringBoot2.0 @Cacheable 添加超时策略

    SpringBoot2.0 @Cacheable 添加超时策略 逻辑比较简单,废话不多说,直接进入正题: 需求:SpringBoot 利用注解使缓存支持过期时间 (同@Cacheable @Cache ...

随机推荐

  1. c++语言的组合类的使用,用组合类的方法计算两点间距离。

    组合类的使用主要涉及到类的构造函数,类的复制构造函数. #include <iostream> #include<cmath> class Point{ public: Poi ...

  2. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre

    原文链接:https://blog.csdn.net/hq091117/article/details/79065199 https://blog.csdn.net/allen_tsang/artic ...

  3. Java基础笔记(十九)——抽象类abstract

    抽象类作为父类,不能实例化自己类型的对象,但可以通过向上转型实例化子类对象. public abstract class Animal{  } 比如eat(); ,每个动物子类都应有自己的方法,那An ...

  4. springcloud系列二 搭建注册中心启动

    创建modul 然后就创建完成了 添加yml文件: server: port: eureka: client: register-with-eureka: false #单机版建议设置为false,设 ...

  5. kvm重新命名

    1.停止虚拟机 virsh shutdown wcltest3 2.导出虚拟机的配置文件 cd /etc/libvirt/qemu virsh dumpxml wcltest3 > vnc.xm ...

  6. Django 的 model form 组件

    Django 的 model form 组件 Model Form 组件的由来 之前介绍过 Django 的 Form 组件(Django的Form表单)使用方法,Form 组件能够帮我们做三件事: ...

  7. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_.Net Framework 部署目标

    1.解决Windows性能不稳定: 2.降低Windows程序安装的复杂性: 3.解决Windows程序不安全性: 4.解决应用程序状态在硬盘上分散: 5.允许用户灵活地控制哪些东西能够安装,哪些东西 ...

  8. UVA12558 Egyptian Fractions (HARD version)(埃及分数)

    传送门 题目大意 给出一个真分数 a/b,要求出几个互不相同的埃及分数(从大到小),使得它们之和为 a/b (埃及分数意思是分子为1的分数,详见百度百科) 如果有多组解,则分数数量少的优先 如果分数数 ...

  9. JS函数调用分析过程

  10. shell入门基础必备

    作者:KornLee 2005-02-03 15:32:57 来自:Linux先生    1.建立和运行shell程序   什么是shell程序呢? 简单的说shell程序就是一个包含若干行 shel ...