在我们日常开发中,MyBatis事务频繁的开启关闭,严重的影响到了我们操作数据的效率,那么久需要按照需求手动的提交事务操作。
在Spring Boot中是如何定义MyBatis手动提交事务的?具体代码示例如下:
public class TransactionMybatis {
@Autowired
private DataSourceTransactionManager dataSourceTransactionManager;
public void getTransaction() {
// 获取事务定义
DefaultTransactionDefinition df = new DefaultTransactionDefinition();
// 设置事务隔离级别,开启新的数据
df.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
// 获取事务状态,相当于开启事务
TransactionStatus transaction = dataSourceTransactionManager.getTransaction(df);
try {
// 此处需要执行的sql操作
dataSourceTransactionManager.commit(transaction);
}catch (Exception e){
e.printStackTrace();
dataSourceTransactionManager.rollback(transaction);
}
}
}
希望对您有所帮助!