package com.chinaztt.mes.basic.util;
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.TransactionDefinition;
|
import org.springframework.transaction.TransactionStatus;
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @Author 张宾
|
* @Date 2023/10/26
|
*/
|
@Component
|
public class TransactionUtils {
|
|
@Resource
|
private DataSourceTransactionManager transactionManager;
|
|
//开启事务,传入隔离级别
|
public TransactionStatus begin(int isolationLevel) {
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
|
// 事物隔离级别,开启新事务 TransactionDefinition.ISOLATION_READ_COMMITTED
|
def.setIsolationLevel(isolationLevel);
|
// 事务传播行为
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
|
//默认事务
|
TransactionStatus transaction = transactionManager.getTransaction(def);
|
//将拿到的事务返回进去,才能提交。
|
return transaction;
|
}
|
|
//提交事务
|
public void commit(TransactionStatus transaction) {
|
//提交事务
|
transactionManager.commit(transaction);
|
}
|
|
//回滚事务
|
public void rollback(TransactionStatus transaction) {
|
transactionManager.rollback(transaction);
|
}
|
}
|