1.首先需要在方法体上加上@Transactional表示支持事务
2.如果异常被抓起之后,需要回滚只能手动回滚,否则事务会认为异常已经被处理,就不在进行回滚
@Transactional
public int tests() {
Acpgift entity=new Acpgift();
entity.setPgnum(2);
entity.setContents("感谢");
acpgiftMapper.insert(entity);
try {
int i=1/0;//抛出异常
} catch (Exception e) {
//事务回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return 0;
}
3.如果异常没有被抓起,则自动回滚
@Transactional
public int tests() {
Acpgift entity=new Acpgift();
entity.setPgnum(2);
entity.setContents("感谢");
acpgiftMapper.insert(entity);
int i=1/0;//抛出异常,回滚
return 0;
}