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
[Link].* will suffice.
• Register the JDBC driver: Requires that you initialize a driver so you can
open a communication channel with the database.
• Open a connection: Requires using
the [Link]() 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 [Link]() 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
This sample example can serve as a templatewhen 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.
Copy and paste the following example in [Link], compile and
run as follows −
//STEP 1. Import required packages
import [Link].*;
public class FirstExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "[Link]";
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
[Link]("[Link]");
//STEP 3: Open a connection
[Link]("Connecting to database...");
conn = [Link](DB_URL,USER,PASS);
//STEP 4: Execute a query
[Link]("Creating statement...");
stmt = [Link]();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = [Link](sql);
//STEP 5: Extract data from result set
while([Link]()){
//Retrieve by column name
int id = [Link]("id");
int age = [Link]("age");
String first = [Link]("first");
String last = [Link]("last");
//Display values
[Link]("ID: " + id);
[Link](", Age: " + age);
[Link](", First: " + first);
[Link](", Last: " + last);
//STEP 6: Clean-up environment
[Link]();
[Link]();
[Link]();
}catch(SQLException se){
//Handle errors for JDBC
[Link]();
}catch(Exception e){
//Handle errors for [Link]
[Link]();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
[Link]();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
[Link]();
}catch(SQLException se){
[Link]();
}//end finally try
}//end try
[Link]("Goodbye!");
}//end main
}//end FirstExample
Now let us compile the above example as follows −
C:\>javac [Link]
C:\>
When you run FirstExample, it produces the following result −
C:\>java FirstExample
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:\>