工具类
package com.mtinfo.baseproject.common;
import com.thinvent.framework.web.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
/**
* 功能说明: 事务开始 提交 和 回滚 <br/>
* 开发人员: Xiewy <br/>
* 创建日期: 2021/7/26 9:24 <br/>
*/
@Controller
public class TransactionController extends BaseController {
/**
* 事务管理
*/
@Autowired
private PlatformTransactionManager platformTransactionManager;
/**
* 事务开始
*/
public TransactionStatus init() {
//实例化对象
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
//设置事务的传播行为为PROPAGATION_REQUIRED
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
//设置事务的隔离级别为读已提交
def.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_READ_COMMITTED);
//开启事务
TransactionStatus ts = platformTransactionManager.getTransaction(def);
return ts;
}
/**
* 事务提交
*/
public void commit(TransactionStatus ts) {
if (ts != null) {
platformTransactionManager.commit(ts);
}
}
/**
* 回滚事务
*/
public void rollback(TransactionStatus ts) {
if (ts != null) {
platformTransactionManager.rollback(ts);
}
}
}