This tutorial 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.
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.
Register the JDBC driver . Requires that you initialize a driver so you can open a communications channel with the database.
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.
This sample example can serve as a template when you need to create your own JDBC application in the future.
This sample code was written based on the environment and database setup done in previous chapter.
Copy and paste below code in Demo Program.java, compile and run:
//STEP 1. Import required packages import java.sql.*; public class Demo Program { // JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // Database credentials static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ //STEP 2: Register JDBC driver Class.forName("com.mysql.jdbc.Driver"); //STEP 3: Open a connection System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); //STEP 4: Execute a query System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, first, last, age FROM Friends"; ResultSet rs = stmt.executeQuery(sql); //STEP 5: Extract data from result set while(rs.next()){ //Retrieve by column name int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //Display values System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } //STEP 6: Clean-up environment rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ //Handle errors for JDBC se.printStackTrace(); }catch(Exception e){ //Handle errors for Class.forName e.printStackTrace(); }finally{ //finally block used to close resources try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ }// nothing we can do try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); }//end finally try }//end try System.out.println("Have A Nice Day"); }//end main }//end Demo Program
Now compile above example:
C:\>javac Demo Program.java C:\>
C:\>java Demo Program Connecting to database... Creating statement... ID: 100, Age: 21, First: Sophia, Last: Lomela ID: 101, Age: 23, First: Katrina, Last: Kane ID: 102, Age: 24, First: Guru, Last: Morkel ID: 103, Age: 22, First: Simone, Last: Washer C:\>
Your Query was successfully sent!