Home » Core Java » sql » Commit/Rollback transaction example

About Ilias Tsagklis

Ilias Tsagklis
Ilias is a senior software engineer working in the telecom domain. He is an applications developer in a wide variety of applications/services, currently the technical lead in a in-house PCRF solution. Particularly interested in multi-tier architecture, middleware services and mobile development (contact). Ilias Tsagklis is co-founder and Executive Editor at Java Code Geeks.

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";


  // 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


  // Do SQL updates...

  // Commit updates


  System.out.println("Successfully commited changes to the database!");

    } catch (SQLException e) {

  try {

// Rollback update


System.out.println("Successfully rolled back changes from the database!");

  } catch (SQLException e1) {

System.out.println("Could not rollback updates " + e1.getMessage());





Successfully Connected to the database! Successfully commited changes to the database!

This was an example of a commit and a rollback transaction in Java.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design


and many more ....



Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.