JDBC - Transactions:: Commit & Rollback
JDBC - Transactions:: Commit & Rollback
This technique is better for simple application. in large business application we want
to turn off auto commit mode . Because following region behind there
1. To increase performance
2. To maintain the integrity of business processes
To enable manual- transaction support instead of the auto-commit mode that the
JDBC driver uses by default, use the Connection object's setAutoCommit() method. If
you pass a boolean false to setAutoCommit( ), you turn off auto-commit. You can
pass a boolean true to turn it back on again.
Ex.
conn.setAutoCommit(false);
conn.commit();
Otherwise, to roll back updates to the database made using the Connection named
conn, use the following code:
conn.rollback();
Example:
try
{
//Turn off auto commit
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
Using Savepoints:
The new JDBC 3.0 Savepoint interface gives us additional transactional control. Most
modern DBMS support savepoints within their environments such as Oracle's
PL/SQL.
Method
//set a Savepoint
Savepoint savepoint1 = conn.setSavepoint("Savepoint1");
String SQL = "INSERT INTO Employees " +
"VALUES (106, 20, 'Rita', 'Tez')";
stmt.executeUpdate(SQL);
//Submit a malformed SQL statement that breaks
String SQL = "INSERTED IN Employees " +
"VALUES (107, 22, 'Sita', 'Tez')";
stmt.executeUpdate(SQL);
// If there is no error, commit the changes.
conn.commit ();
}
catch(SQLException se)
{
// If there is any error.
conn.rollback(savepoint1);
}