我需要執行相當長的JDBC事務。我可以使用多種方法分配交易所需的報表嗎?以多種方式分配JDBC事務的語句
try {
// ... Get connection
// Start transaction
connection.setAutoCommit(false);
// In every one of these methods a series of statements is executed
// All methods throw a SQLException which is caught here for rollback
// Every method takes this connection as an argument
method1(connection);
method2(connection);
// ...
methodN(connection);
// Commit all changes done inside the methods
connection.commit();
} catch (SQLException e) {
connection.rollback();
} finally {
connection.setAutoCommit(true);
connection.close();
}
是什麼讓你覺得這*不會工作? –
我不確定方法內部的Statement對象的範圍是否以任何方式相關。在方法返回後,語句不存在,我不知道程序運行時執行的查詢是如何「存儲」的。它們是「綁定」到Connection對象而不是Statement對象的? –