请问大神们,下面的这段代码,我要如何给TransactionCallback事务添加手动提交?
或者有没有什么自动提交的方法?
@SuppressWarnings("unchecked")
public List<String> insertBankOrdLog(
final List<BankOrdLog> BankOrdLogList, final String merCode, final Date createDate, final String type) {
logger.info("PC CHANNEL[" + merCode + "] ACCT BEGIN...");
return (List<String>) transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
List<String> insertErrorStr = new ArrayList<String>();
try {
if (!BankOrdLogList.isEmpty()) {
List<BankOrdLog> dbList = new ArrayList<BankOrdLog>();
for (BankOrdLog i : BankOrdLogList) {
int count = bankOrdLogMapper.getBankOrdLogForCount(i);
int num = 0;
int num1 = 0;
if (count == 0) {
if (i != null) {
dbList.add(i);
}
} else if (count > 0) {
logger.info("错误");
num++;
String resultStr = "插入时出错的数据:sysSeqId:" + i.getSysSeqId();
insertErrorStr.add(resultStr);
continue;
}
}
if (dbList.size() > 0) {
bankOrdLogMapper.insertBatchBankOrdLog(dbList);
dbList.clear();
}
BankOrdLogList.clear();
}
} catch (Exception e) {
status.setRollbackOnly();
logger.info(e.getMessage());
insertErrorStr.add(e.getMessage());
return insertErrorStr;
}
return insertErrorStr;
}
});
}