Show Table of Contents
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
autoCommitflag 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.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.