java-Transactional

2023/9/11

# 1 @Transactional注解

对所有的异常进行回滚
@Transactional(rollbackFor = Exception.class)
对SQL异常进行回滚
@Transactional(SQLException = Exception.class)

# 2 异常捕获、处理

       try {
        //可能发生异常
       	Camera camera = getData();
       	//清空表
        cameraMapper.deleteAll();
        //新增
        cameraMapper.insertSelective(camera);
      }catch (Exception e) {
            // 捕获异常后手动标记事务为回滚状态
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            // 可以选择记录日志或者其他处理
       }