Bootstrap

springboot + mybatis手动提交事务

package com.ttzz.jsp.demo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;

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);
        }
    }
}

;