java spring 事务注解_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) , 然后在该方法后面加上 throwsexception ,

为了不报错,我们还须 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;

}

}

参考:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值