@Transactional 注解使用

  1. rollbackFor和norollbackFor:
@Transactional(rollbackFor = Exception.class,noRollbackFor = NullPointerException.class)
public Result update(String id, NoticeTemplateDto dto)  throws Exception {

从使用中看到,如果配置了:noRollbackFor = NullPointerException.class 。
1.1 那么方法中如果抛出了NullPointerException异常,在方法中操作的update更新数据库不会被回滚,数据依然被修改了。
1.2 但是因为有rollbackFor = Exception.class,在抛出其他异常时,事务依然生效,update操作会被回滚。

你可能感兴趣的:(springboot)