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.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button