我就废话不多说啦,还是直接看代码吧!
/**
* 设置数据库是否自动提交事务
* @param flag
* @throws SQLException
*/
public void setAutoCommit(boolean flag) throws SQLException {
con.setAutoCommit(flag);
}
/**
* 提交
* @throws SQLException
*/
public void commit() throws SQLException {
con.commit();
}
/**
* 回滚
* @throws SQLException
*/
public void rollback() throws SQLException {
con.rollback();
}
定义一个全局变量Connection 第一个方法设置为false就是手动提交,这种方法适用于我们删除东西后重新再添加东西,类似权限管理系统这种可以用得上
补充知识:springboot 手动开启事务,分段提交
我就废话不多说了,直接看代码吧!
List ordLogSynList = ordLogSynMapper.batchQuery("AP", "20190926", "0", "1000");
for (int i = 0; i < 2; i++) {
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
TransactionStatus status = platformTransactionManager.getTransaction(def);
List subList = null;
if (i==0){
subList = ordLogSynList.subList(0, 500);
}else if (i==1){
subList = ordLogSynList.subList(501, 1000);
}
for (OrdLogSyn ordLogSyn : subList) {
int q = ordLogSynMapper.updateChkFlag(ordLogSyn.getConfirmSeqId(), ordLogSyn.getAcctDate(), "I");
System.out.println("q = " + q);
}
platformTransactionManager.commit(status);
}
以上这篇JAVA设置手动提交事务,回滚事务,提交事务的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-04-25