Java JDBC事务,sql语句的执行顺序
我有以下JDBC代码:Java JDBC事务,sql语句的执行顺序,java,jdbc,transactions,sqltransaction,Java,Jdbc,Transactions,Sqltransaction,我有以下JDBC代码: Connection conn = connectUserDataSource(); // Setting auto commit to false to execute all queries as part of transaction conn.setAutoCommit(false); PreparedStatement deletePreparedStatement = null; Prepared
Connection conn = connectUserDataSource();
// Setting auto commit to false to execute all queries as part of transaction
conn.setAutoCommit(false);
PreparedStatement deletePreparedStatement = null;
PreparedStatement insertPreparedStatement = null;
try
{
deletePreparedStatement = conn.prepareStatement(sqlDelete);
deletePreparedStatement.setInt(1, someId);
deletePreparedStatement.executeUpdate();
insertPreparedStatement = conn.prepareStatement(sqlInsert);
for(SomeObject obj : objects)
{
insertPreparedStatement.setInt(1, obj.getId());
}
insertPreparedStatement.executeBatch();
// committing transaction
conn.commit();
transactionComplete = true;
}
我希望两条准备好的语句成为一个JDBC事务的一部分。我想知道它们的创建顺序是否会是SQL语句的执行顺序:先删除后插入。它们是从上到下执行的,所以按照您执行的顺序,删除将首先执行,然后插入。它们是从上到下执行的,所以按照您执行的顺序,删除将首先执行,插入将在它们之后执行。这是它们执行的顺序,即调用executeXXX()时。非常感谢您的解释!这是它们执行的顺序,即调用executeXXX()时,非常感谢您的解释!