JDBC - Sample, Example Code



This chapter provides an example of how to create a simple JDBC application. This will show you how to open a database connection, execute a SQL query, and display the results.

All the steps mentioned in this template example, would be explained in subsequent chapters of this tutorial.

Creating JDBC Application

There are following six steps involved in building a JDBC application −

  • Import the packages − Requires that you include the packages containing the JDBC classes needed for database programming. Most often, using import java.sql.* will suffice.

  • Open a connection − Requires using the DriverManager.getConnection() method to create a Connection object, which represents a physical connection with the database.

  • Execute a query − Requires using an object of type Statement for building and submitting an SQL statement to the database.

  • Extract data from result set − Requires that you use the appropriate ResultSet.getXXX() method to retrieve the data from the result set.

  • Clean up the environment − Requires explicitly closing all database resources versus relying on the JVM's garbage collection.

Sample Code to Select Records

This sample example can serve as a template when you need to create your own JDBC application in the future.

This sample code has been written based on the environment and database setup done in the previous chapter.

In this example, we've four static strings containing a dababase connection url, username, password and a SELECT query. Now using DriverManager.getConnection() method, we've prepared a database connection. Once connection is prepared, we've created a Statement object using connection.createStatement() method, then using statement.executeQuery(), the SELECT Query is executed and result is stored in a resultset. Now resultset is iterated and each record is printed.

Copy and paste the following example in SelectExample.java, compile and run as follows −

import java.sql.*;

public class SelectExample {
   static final String DB_URL = "jdbc:mysql://localhost/TUTORIALSPOINT";
   static final String USER = "guest";
   static final String PASS = "guest123";
   static final String QUERY = "SELECT id, first, last, age FROM Employees";

   public static void main(String[] args) {
      // Open a connection
      try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
         Statement stmt = conn.createStatement();
         ResultSet rs = stmt.executeQuery(QUERY);) {
         // Extract data from result set
         while (rs.next()) {
            // Retrieve by column name
            System.out.print("ID: " + rs.getInt("id"));
            System.out.print(", Age: " + rs.getInt("age"));
            System.out.print(", First: " + rs.getString("first"));
            System.out.println(", Last: " + rs.getString("last"));
         }
      } catch (SQLException e) {
         e.printStackTrace();
      } 
   }
}

Output

Now let us compile the above example as follows −

C:\>javac SelectExample.java
C:\>

When you run SelectExample, it produces the following result −

C:\>java SelectExample
Connecting to database...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>

Sample Code to Update Records

In this example, we've five static strings containing a dababase connection url, username, password, UPDATE Query and a SELECT query. Now using DriverManager.getConnection() method, we've prepared a database connection. Once connection is prepared, we've created a Statement object using connection.createStatement() method. Now using statement.executeUpdate(), we've run the update query. Lastly using statement.executeQuery(), the SELECT Query is executed and result is stored in a resultset. Now resultset is iterated and each record is printed to check the updated content.

Copy and paste the following example in UpdateExample.java, compile and run as follows −

import java.sql. *;

public class UpdateExample {
   static final String DB_URL = "jdbc: mysql://localhost/TUTORIALSPOINT";
   static final String USER = "guest";
   static final String PASS = "guest123";
   static final String QUERY1 = "UPDATE Employees SET age=20 where id=100";
   static final String QUERY2= "SELECT id, first, last, age FROM Employees";

   public static void main (String [] args) {
      // Open a connection
      try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
         Statement stmt = conn.createStatement();
      ) {

         stmt.executeUpdate(QUERY1);
         ResultSet rs=stmt.executeQuery(QUERY2);
         // Extract data from result set
         while (rs.next()) {
            // Retrieve by column name   
            System.out.print("ID: " + rs.getInt("id"));
            System.out.print(", Age: " + rs.getInt("age"));
            System.out.print(", First: " + rs.getString("first"));
            System.out.println(", Last: " + rs.getString("last"));
         }
      } catch (SQLException e) {
         e.printStackTrace();
      } 
   }
}

Output

Now let us compile the above example as follows −

C:\>javac UpdateExample.java
C:\>

When you run UpdateExample, it produces the following result −

C:\>java UpdateExample
ID: 100, Age: 20, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal

C:\>

Sample Code to Delete Records

In this example, we've five static strings containing a dababase connection url, username, password, Delete Query and a SELECT query. Now using DriverManager.getConnection() method, we've prepared a database connection. Once connection is prepared, we've created a Statement object using connection.createStatement() method. Now using statement.executeUpdate(), we've run the delete query. Lastly using statement.executeQuery(), the SELECT Query is executed and result is stored in a resultset. Now resultset is iterated and each record is printed to check the deleted content.

Copy and paste the following example in DeleteExample.java, compile and run as follows −

import java.sql. *;

public class DeleteExample {
   static final String DB_URL = "jdbc: mysql://localhost/TUTORIALSPOINT";
   static final String USER = "guest";
   static final String PASS = "guest123";
   static final String QUERY1 = "DELETE from Employees where id=100";
   static final String QUERY2= "SELECT id, first, last, age FROM Employees";

   public static void main (String [] args) {
      // Open a connection
      try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
         Statement stmt = conn.createStatement();
      ) {

         stmt.executeUpdate(QUERY1);
         ResultSet rs=stmt.executeQuery(QUERY2);
         // Extract data from result set
         while (rs.next()) {
            // Retrieve by column name   
            System.out.print("ID: " + rs.getInt("id"));
            System.out.print(", Age: " + rs.getInt("age"));
            System.out.print(", First: " + rs.getString("first"));
            System.out.println(", Last: " + rs.getString("last"));
         }
      } catch (SQLException e) {
         e.printStackTrace();
      } 
   }
}

Output

Now let us compile the above example as follows −

C:\>javac DeleteExample.java
C:\>

When you run DeleteExample, it produces the following result −

C:\>java DeleteExample
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal

C:\>
Advertisements