JDBC Steps ? Basic steps in writing a JDBC Application

This section gives you brief description of JDBC Steps for making connection with the database, executing the query and showing the data to the user. In this application we have connected to the MySQL database and retrieved the employee names from the dat

JDBC Steps ? Basic steps in writing a JDBC Application

JDBC Steps – Basic steps in writing a JDBC Application

     

This section gives you brief description of JDBC Steps for making connection with the database, executing the query and showing the data to the user. In this application we have connected to the MySQL database and retrieved the employee names from the database. Here are the JDBC Steps to be followed while writing JDBC program:

  • Loading Driver
  • Establishing Connection
  • Executing Statements
  • Getting Results
  • Closing Database Connection

Before explaining you the JDBC Steps for making connection to the database and retrieving the employee from the tables, we will provide you the structure of the database and sample data.

Here is the sql script to create table and populate the table with data:

-- Table structure for table `employee`

CREATE TABLE `employee` (

`employee_name` varchar(50) NOT NULL,

PRIMARY KEY (`employee_name`)

);

INSERT INTO `employee` (`employee_name`) VALUES

('Deepak Kumar'),

('Harish Joshi'),

('Rinku roy'),

('Vinod Kumar');

Data inserting in MySQL database table:

mysql> insert into employee values('Deepak Kumar');
Query OK, 1 row affected (0.24 sec)

mysql> insert into employee values('Harish Joshi');
Query OK, 1 row affected (0.05 sec)

mysql> insert into employee values('Harish Joshi');
ERROR 1062 (23000): Duplicate entry 'Harish Joshi' for key 1
mysql> insert into employee values('Rinku roy');
Query OK, 1 row affected (0.03 sec)

mysql> insert into employee values('Vinod Kumar');
Query OK, 1 row affected (0.04 sec)

mysql> select *from employee;
+---------------+
| employee_name |
+---------------+
| Deepak Kumar |
| Harish Joshi |
| Rinku roy |
| Vinod Kumar |
+---------------+
4 rows in set (0.04 sec)

Here is the code of java program that retrieves all the employee data from database and displays on the console:

/*
Import JDBC core packages. 
Following statement imports the java.sql package, 
which contains the JDBC core API. 
*/ 
import java.sql.*;

public class RetriveAllEmployees{
  public static void main(String[] args) {
  System.out.println("Getting All Rows from employee table!");
  Connection con = null;
  String url = "jdbc:mysql://localhost:3306/";
  String db = "jdbc";
  String driver = "com.mysql.jdbc.Driver";
  String user = "root";
  String pass = "root";
  try{
  Class.forName(driver);
  con = DriverManager.getConnection(url+db, user, pass);
  Statement st = con.createStatement();
  ResultSet res = st.executeQuery("SELECT * FROM  employee");
  System.out.println("Employee Name: " );
  while (res.next()) {
  String employeeName = res.getString("employee_name");
  System.out.println(employeeName );
  }
  con.close();
  }
  catch (ClassNotFoundException e){
  System.err.println("Could not load JDBC driver");
  System.out.println("Exception: " + e);
  e.printStackTrace();
  }
  catch(SQLException ex){
  System.err.println("SQLException information");
  while(ex!=null) {
  System.err.println ("Error msg: " + ex.getMessage());
  System.err.println ("SQLSTATE: " + ex.getSQLState());
  System.err.println ("Error code: " + ex.getErrorCode());
  ex.printStackTrace();
  ex = ex.getNextException(); 
// For drivers that support chained exceptions
  }
  }
  }
} 

Explanation of JDBC Steps:

  • Loading Driver
    Loading Database driver is very first step towards making JDBC connectivity with the database. It is necessary to load the JDBC drivers before attempting to connect to the database.
    The JDBC drivers automatically register themselves with the JDBC system when loaded. Here is the code for loading the JDBC driver:
    Class.forName(driver).newInstance();
     
  • Establishing Connection
    In the above step we have loaded the database driver to be used. Now its time to make the connection with the database server. In the Establishing Connection step we will logon to the database with user name and password. Following code we have used to make the connection with the database:
    con = DriverManager.getConnection(url+db, user, pass);
     
  • Executing Statements
    In the previous step we established the connection with the database, now its time to execute query against database. You can run any type of query against database to perform database operations. In this example we will select all the rows from employee table. Here is the code that actually execute the statements against database:
    ResultSet res = st.executeQuery( "SELECT * FROM  employee" );
     
  • Getting Results
    In this step we receives the result of execute statement. In this case we will fetch the employees records from the recordset object and show on the console. Here is the code:
       while  (res.next()) {
       String employeeName  = res.getInt( " employee_name " );
       System.out.println( employeeName  );
       }
      
  • Closing Database Connection
    Finally it is necessary to disconnect from the database and release resources being used. If you don’t close the connection then in the production environment your application will fail due to hanging database connections. Here is the code for disconnecting the application from database:
      con.close();
     

In this section you learnt about the JDBC Steps necessary for performing database operations.

Output of program:

C:\vinod>javac RetriveAllEmployees.java

C:\vinod>java RetriveAllEmployees
Getting All Rows from employee table!
Employee Name:
Deepak Kumar
Harish Joshi
Rinku roy
Vinod Kumar

Download full code along with JDBC driver