我使用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次:为什么会这样?
答案 0 :(得分:0)
我的println方法正在进行中 - 这就是我打印3次的原因。