0
点赞
收藏
分享

微信扫一扫

springboot + mybatis手动提交事务

书呆鱼 2022-04-25 阅读 55
java后端
@Service
public class MyService{
    @Autowired
    DataSourceTransactionManager transactionManager;
    
    public ResultMap lockStockWhenNewOrder(List<StockChangeByOrderDto> goodsModels) {
        //2.获取事务定义
        DefaultTransactionDefinition def = new DefaultTransactionDefinition();
        //3.设置事务隔离级别,开启新事务
        def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
        //4.获得事务状态,相当于开启事物
        TransactionStatus transactionStatus = transactionManager.getTransaction(def);
        try{
            //insert or update ...
            transactionManager.commit(transactionStatus);
        } catch (InterruptedException e) {
            transactionManager.rollback(transactionStatus);
        }
    }
}
举报

相关推荐

0 条评论