SpringBoot使用注解实现事务管理
conttoller
controller和普通的controller类一样, 不用改变
@RequestMapping(value = "/path/{id}", method = RequestMethod.DELETE, produces = "application/json")
@ResponseBody
public Result delete(HttpServletRequest request,@PathVariable("id") Long id) {
Result result = null;
try {
result = DeleteService.delete(id);
} catch (Exception e) {
result = Result.getFailResult("删除记录失败");//前台用来显示出错信息
}
return result;
}
Service
首先在方法上加上 @Transactional(rollbackFor = Exception.class) , 然后在该方法后面加上 throws Exception ,
为了不报错,我们还须 DeleteService 接口中对应的delete()方法签名修改为:
public void delete(Integer personid) throws Exception;
rollbackFor 该属性用于设置需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,则进行事务回滚。
@Service
public class DeleteServiceImp implements DeleteService {
@Override
@Transactional(rollbackFor = Exception.class)//设置检查时异常时回滚事务
public Result delete(Long id) throws Exception {
Result result = null;
int num = myMapper.delete(id);
int index = 0;
if (0 < num) {
index = anotherMapper.deleteById(id);
if (0 < index) {
result = Result.getSuccessResult("删除版本记录成功");
} else {
throw new Exception("删除版本记录失败"); //删除关联表失败时,抛出一个异常 用来触发回滚
}
} else {
throw new Exception("删除项目失败"); //删除失败时, 抛出异常 用来触发回滚
} return result;
}
}
最后在程序入口类 Application.java 上加上注解 @EnableTransactionManagement , 开启事务注解
参考:https://blog.csdn.net/yerenyuan_pku/article/details/52885041
SpringBoot使用注解实现事务管理的更多相关文章
- Spring Boot 中使用 @Transactional 注解配置事务管理
事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编程式和声明式的两种方式.编程式事务指的是通过编码方式实现事务:声明式事务基于 AOP ...
- spring+mybatis之注解式事务管理初识(小实例)
1.上一章,我们谈到了spring+mybatis声明式事务管理,我们在文章末尾提到,在实际项目中,用得更多的是注解式事务管理,这一章将学习一下注解式事务管理的有关知识.注解式事务管理只需要在上一节的 ...
- Spring Boot中使用@Transactional注解配置事务管理
事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编程式和声明式的两种方式.编程式事务指的是通过编码方式实现事务:声明式事务基于 AOP ...
- springboot使用 @Transactional 注解配置事务管理
介绍 springboot对数据库事务的使用非常的方便,只需要在方法上添加@Transactional注解即可.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编程式和声明式的 ...
- 【快学springboot】9.使用 @Transactional 注解配置事务管理
介绍 springboot对数据库事务的使用非常的方便,只需要在方法上添加@Transactional注解即可.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编程式和声明式的 ...
- springboot xml声明式事务管理方案
在开发过程中springboot提供的常见的事务解决方案是使用注解方式实现. 使用注解 在启动类上添加注解 @EnableTransactionManagement 在需要事务控制的方法添加@Tran ...
- SpringBoot 集成MyBatis、事务管理
集成MyBatis (1)在pom.xml中添加依赖 <!-- mybatis的起步依赖.包含了mybatis.mybatis-spring.spring-jdbc(事务要用到)的坐标 --&g ...
- springboot多数据源+jta事务管理配置
1.创建一个maven项目,导入相关配置: <?xml version="1.0" encoding="UTF-8"?> <project x ...
- Springboot入门之分布式事务管理
springboot默认集成事务,只主要在方法上加上@Transactional即可. 分布式事务一种情况是针对多数据源,解决方案这里使用springboot+jta+atomikos来解决 一.po ...
随机推荐
- 火狐l浏览器所有版本
最近在群里看到好多人需要火狐浏览器的低版本,而且都是跪求,更有甚者是高额悬赏,因此给大家一个链接,免费的,免费的,免费的!!!重要的事说三遍,拿走不谢~~ 火狐所有版本,了解一下,有需要的自行下载. ...
- Qt之QComboBox定制(二)
上一篇文章Qt之QComboBox定制讲到了qt实现自定义的下拉框,该篇文章主要实现了列表式的下拉框,这一节我还将继续讲解QComboBox的定制,而这一节我将会讲述更高级的用法,不仅仅是下拉列表框, ...
- Steeltoe之Distributed Tracing篇
Steeltoe里的分布式追踪功能与Spring Cloud Sleuth一样,支持在日志中记录追踪数据,或者上传到远端的服务,比如Zipkin. Logging 在Steeltoe中使用日志时需要引 ...
- Python爬虫入门教程 32-100 B站博人传评论数据抓取 scrapy
1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的小姐姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网址 ...
- 带着萌新看springboot源码8(spring ioc源码上)
emmm.....这次先不说springboot原理,先好好回顾一下以前的注解版spring原理,先把spring原理了解清晰了,再看springboot原理更容易. 要说起spring,最重要的就是 ...
- Jenkins时间修改为北京时间
jenkins安装后时间一直是utc时间,不太方便. 系统管理->脚本命令行 运行: System.setProperty('org.apache.commons.jelly.tags.fmt. ...
- 【SpringCloud】HystrixCommand的threadPoolKey默认值及线程池初始化
关于threadPoolKey默认值的疑问 使用SpingCloud必然会用到Hystrix做熔断降级,也必然会用到@HystrixCommand注解,@HystrixCommand注解可以配置的除了 ...
- centos6.7 配置外网端口映射
目的: 为节省公司外网ip,现需要把部分没有外网ip的服务器做端口映射. 服务器节点: 118.192.66.66(外网服务器) em1 内网 em2 外网 192.168.32.124(内网服务器) ...
- Spring Boot 2.x (二):How Hello World & 热部署
本篇摘要 上一篇文章,我们构建了一个HelloWorld的程序,现在,我们来看一下这个程序,下面是我们这一节要分析的点. spring-boot-starter-boot @SpringBootApp ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU特性介绍(3)- 命名规则
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的命名规则. 打开任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名规则表,以i.MX ...