SpringBoot使用注解实现事务管理
程序员文章站
2023-02-07 23:54:58
conttoller controller和普通的controller类一样, 不用改变 Service 首先在方法上加上 @Transactional(rollbackFor = Exception.class) , 然后在该方法后面加上 throws Exception , 为了不报错,我们还须 ......
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; } }
参考:
上一篇: 去南京必吃十大美食 你知道有哪些吗
下一篇: 沙湾古镇美食有哪些 这几家必吃
推荐阅读
-
SpringBoot使用AOP+注解实现简单的权限验证的方法
-
使用SpringBoot和SpringSecurity实现 JWT 认证与授权
-
浅谈基于SpringBoot实现一个简单的权限控制注解
-
SpringBoot使用Redis缓存的实现方法
-
SpringBoot使用注解实现事务管理
-
SpringBoot使用JWT实现登录验证的方法示例
-
Springboot WebJar打包及使用实现流程解析
-
使用SpringBoot实现发送邮件功能
-
Mybatis使用注解实现一对一复杂关系映射及延迟加载
-
荐 (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九