sql
Commit/Rollback transaction example
This is an example of a commit and a rollback transaction in Java. Handling commit and rollback transactions in Java implies that you should:
- Load the JDBC driver, using the
forName(String className)API method of the Class. In this example we use the Oracle JDBC driver. - Create a Connection to the database. Invoke the
getConnection(String url, String user, String password)API method of the DriverManager to create the connection. - Disable auto commit, with the
setAutoCommit(boolean autoCommit)API method of the Connection. Now all SQL statements will be executed and committed as individual transactions. - Do SQL updates and commit each one of them, with the
commit()API method of the Connection. - If an SQLException is thrown invoke the
rollback()API method.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class CommitAndRollback {
public static void main(String[] args) {
Connection connection = null;
try {
// Load the Oracle JDBC driver
String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);
// Create a connection to the database
String serverName = "localhost";
String serverPort = "1521";
String sid = "mySchema";
String url = "jdbc:oracle:thin:@" + serverName + ":" + serverPort + ":" + sid;
String username = "username";
String password = "password";
connection = DriverManager.getConnection(url, username, password);
System.out.println("Successfully Connected to the database!");
} catch (ClassNotFoundException e) {
System.out.println("Could not find the database driver " + e.getMessage());
} catch (SQLException e) {
System.out.println("Could not connect to the database " + e.getMessage());
}
try {
// Disable auto commit
connection.setAutoCommit(false);
// Do SQL updates...
// Commit updates
connection.commit();
System.out.println("Successfully commited changes to the database!");
} catch (SQLException e) {
try {
// Rollback update
connection.rollback();
System.out.println("Successfully rolled back changes from the database!");
} catch (SQLException e1) {
System.out.println("Could not rollback updates " + e1.getMessage());
}
}
}
}Output:
Successfully Connected to the database! Successfully commited changes to the database!
This was an example of a commit and a rollback transaction in Java.
