版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/zhangleiyes123/article/details/83143957
抽时间赶紧总结一波:最近遇到了关于事务的问题,一个小接口浪费了半天时间才解决,最后才发现是事务的原因,今天就特地把事务的问题分享给大家;
在此先向各位大神请教一个问题?
(1). @Transactional(rollbackOn = Exception.class) //import javax.transaction.Transactional;
(2). @Transactional(rollbackFor=Exception.class) //import org.springframework.transaction.annotation.Transactional;
这两个包下的事务有啥区别?都分别适用于什么场合?
*************************************************************************************************************************************************
*************************************************************************************************************************************************
一:
好了,言归正传,首先,我们都知道这种设置是因为Spring的默认回滚(运行时异常RuntimeException),如果想要回滚编译时异常Exception时,要设置@Transactional(rollbackFor = Exception.class),而且Exception还要抛出,抛出异常,就会回滚,数据库里面的数据也会回滚。
二:
事务可以写在类上,可以写在某个方法上,也可以写在某个大方法的具体的某个小方法上;
类中:
类中的某个大方法:
dao层中: