1.开启事务支持
@EnableTransactionManagement //开启事务管理
@Configuration // 配置类
public class MybatisPlusConfig {
// 1.乐观锁
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
return new OptimisticLockerInterceptor();
}
// 分页插件
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
2.在方法或者对应类上添加@Transactional注解,并配置事务回滚情况
@Transactional(rollbackFor = {RuntimeException.class, Exception.class})
public void test() {
}
3.代码中捕获异常的情况下,如何回滚事务.
//假设这是一个service类的片段
try{
//出现异常
} catch (Exception e) {
//设置手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
//此时return语句能够执行
return xxx;
要么捕获之后再throw一个异常也行