Transaction Scope
An
existing
transaction ends, and a new transaction starts, at the moment a
commit or rollback command is issued. Assuming you’ve turned
off auto-commit, a COMMIT statement makes permanent any changes
you’ve made to the database using INSERT, UPDATE, or DELETE statements since the last time a
COMMIT or ROLLBACK statement was executed. With
JDBC, commit your changes manually by calling the
Connection object’s commit( ) method. Calling the commit( )
method sends a COMMIT to the database. The commit( ) method takes no arguments but may throw an
SQLException. However, it’s very rare for a
commit to result in an exception. For example, to commit changes for
the Connection named conn, use
the following code:
conn.commit( );
On the other hand, a rollback command irrevocably discards, or
undoes, any INSERT, UPDATE, or DELETE statements you’ve
executed since the last time a COMMIT or ROLLBACK statement was
executed. To roll back, use the Connection
object’s rollback( ) method. For example, to
roll back updates to the database made using the
Connection named conn, use the
following code:
conn.rollback( );
One last note: while auto-commit is off, if a
Connection is closed without committing or rolling
back, or if any DDL is executed, then any uncommitted changes are
automatically committed.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access