Pages

jdbc tutorial

Tuesday, 27 March 2012


 definitions

JDBC is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases.

The JDBC API is a Java API that can access any kind of tabular data, especially data stored in a Relational Database.

JDBC helps you to write java applications that manage these three programming activities:

Connect to a data source, like a database
Send queries and update statements to the database
Retrieve and process the results received from the database in answer to your query

The following simple code fragment gives a simple example of these three steps:

Connection con = DriverManager.getConnection
           ( "jdbc:myDriver:wombat", "myLogin","myPassword");

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}

This short code fragment instantiates a
DriverManager
object to connect to a database driver and log into the database, instantiates a
Statement
object that carries your SQL language query to the database; instantiates a
ResultSet
object that retrieves the results of your query, and executes a simple
while
loop, which retrieves and displays those results. It's that simple.


A JDBC driver is a set of Java classes that implement the JDBC interfaces, targeting a specific database. The JDBC interfaces comes with standard Java, but the implementation of these interfaces is specific to the database you need to connect to. Such an implementation is called a JDBC driver.

There are 4 different types of JDBC drivers:

Type 1: JDBC-ODBC bridge driver
Type 2: Java + Native code driver
Type 3: All Java + Middleware translation driver
Type 4: All Java driver.
Today, most drivers are type 4 drivers. Nevertheless, I will just discuss the 4 types of drivers shortly.

Loading the JDBC Driver

The first thing you need to do before you can open a database connection is to load the JDBC driver for the database. Actually, from Java 6 this is no longer necessary, but doing so will not fail. You load the JDBC driver like this:

    Class.forName("driverClassName");
Each JDBC driver has a primary driver class that initializes the driver when it is loaded. For instance, to load the H2Database driver, you write this:

    Class.forName("org.h2.Driver");
You only have to load the driver once. You do not need to load it before every connection opened. Only before the first connection opened.


Opening the Connection

To open a database connection you use the java.sql.DriverManager class. You call its getConnection() method, like this:

String url      = "jdbc:h2:~/test";   //database specific url.
String user     = "sa";
String password = "";

Connection connection =
    DriverManager.getConnection(url, user, password);
The url is the url to your database. You should check the documentation for your database and JDBC driver to see what the format is for your specific database. The url shown above is for a H2Database.

The user and password parameters are the user name and password for your database.


Closing the Connection

Once you are done using the database connection you should close it. This is done by calling the Connection.close() method, like this:

connection.close();



 

Most Reading