Committing and Closing the Connection
By default, DML operations (INSERT
, UPDATE
, DELETE
) are committed automatically as soon as they are executed.
This is known as auto-commit mode.
You can, however, disable auto-commit mode with the following method call on the Connection
object:
conn.setAutoCommit(false);
If you disable auto-commit mode, then you must manually commit or roll back changes with the appropriate method call on the Connection
object:
conn.commit( );
or:
conn.rollback( );
|
|
|
A COMMIT
or ROLLBACK
operation affects all DML statements executed since the last COMMIT
or ROLLBACK
.
Note that:
- If auto-commit mode is disabled and you close the connection without explicitly committing or rolling back your last changes, then an implicit
COMMIT
operation is executed.
- Any DDL operation, such as
CREATE
or ALTER
, always includes an implicit COMMIT
.
If auto-commit mode is disabled, this implicit COMMIT
will not only commit the DDL statement, but also any pending DML operations that had not yet been explicitly committed or rolled back.
You must close your connection to the database once you finish your work.
Use the close
method of the Connection
object to do this:
conn.close( );
Typically, you should put close( )
statements in a final clause.
“We learn from failure, not from success!”
― Bram Stoker, Dracula
|