我使用 TransactionTemplate 来管理数据库连接:
txTemplate.execute(new TransactionCallback<Void>() {
@Override
public Void doInTransaction(TransactionStatus txStatus) {
try {
***********************
List<Map<String, Object>> rows = dbConn.queryForList(sql, bindValues);
*********************************
System.out.println(txStatus.toString());
System.out.println(txStatus.isNewTransaction());
System.out.println(txStatus.isRollbackOnly());
}
}catch (RuntimeException e) {
txStatus.setRollbackOnly();
System.out.println("*************"+e.getMessage());
throw e;
}
这是我的代码的结果:
create connection
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false
org.springframework.transaction.support.DefaultTransactionStatus@37b60886
true
false
3 次方法调用:为什么会这样?