此内容没有您所选择的语言版本。
4.2. Local Transactions
A connection uses the
autoCommit
flag to explicitly control local transactions. By default, autoCommit is set to true
, which indicates request level or implicit transaction control:
// Set auto commit to false and start a transaction connection.setAutoCommit(false); try { // Execute multiple updates Statement statement = connection.createStatement(); statement.executeUpdate("INSERT INTO Accounts (ID, Name) VALUES (10, 'Mike')"); statement.executeUpdate("INSERT INTO Accounts (ID, Name) VALUES (15, 'John')"); statement.close(); // Commit the transaction connection.commit(); } catch(SQLException e) { // If an error occurs, rollback the transaction connection.rollback(); }
This example demonstrates several things:
- Setting
autoCommit
flag to false. This will start a transaction bound to the connection. - Executing multiple updates within the context of the transaction.
- When the statements are complete, the transaction is committed by calling
commit()
. - If an error occurs, the transaction is rolled back using the
rollback()
method.