数据库回滚-@Transactional
使用@Transactional,当方法内出现异常时进行数据库回滚
注意:引入spring包的@Transactional注解
1、内部调用时,被调用方法的事务声明将不起作用,@Transactional需放在impl实现类才生效
2、方法使用public可见度修饰才生效
@Transactional(rollbackFor = Exception.class) @Override public BaseResponse approvalPerson(Person person) throws Exception{ BaseResponse response = new BaseResponse(); try { Boolean ret = personMapper.approvalPerson(person); if (ret && person.getStatus() == 2){ 。。。 } } catch (Exception e) { logger.error("approvalPerson error: ",e); response.setCode(DefaultErrorCode.ERROR.getCode()); response.setMsg("审批失败"); response.setData(e.getMessage()); throw new Exception("test4 error"); } return response; }