Introduction to JDBC

Java Database Connectivity(JDBC) is an Application Programming Interface(API) used to connect Java application with Database. JDBC is used to interact with various type of Database such as Oracle, MS Access, My SQL and SQL Server. JDBC can also be defined as the platform-independent interface between a relational database and Java programming. It allows java program to execute SQL statement and retrieve result from database.

architecture of JDBC


What's new in JDBC 4.0

JDBC 4.0 is new and advance specification of JDBC. It provides the following advance features

  • Connection Management
  • Auto loading of Driver Interface.
  • Better exception handling
  • Support for large object
  • Annotation in SQL query.

JDBC Driver

JDBC Driver is required to process SQL requests and generate result. The following are the different types of driver available in JDBC.

  • Type-1 Driver or JDBC-ODBC bridge
  • Type-2 Driver or Native API Partly Java Driver
  • Type-3 Driver or Network Protocol Driver
  • Type-4 Driver or Thin Driver

JDBC-ODBC bridge

Type-1 Driver act as a bridge between JDBC and other database connectivity mechanism(ODBC). This driver converts JDBC calls into ODBC calls and redirects the request to the ODBC driver.

JDBC-ODBC bridge

Advantage

  • Easy to use
  • Allow easy connectivity to all database supported by the ODBC Driver.

Disadvantage

  • Slow execution time
  • Dependent on ODBC Driver.
  • Uses Java Native Interface(JNI) to make ODBC call.

Native API Driver

This type of driver make use of Java Native Interface(JNI) call on database specific native client API. These native client API are usually written in C and C++.

Native API Driver

Advantage

  • faster as compared to Type-1 Driver
  • Contains additional features.

Disadvantage

  • Requires native library
  • Increased cost of Application

Network Protocol Driver

This driver translate the JDBC calls into a database server independent and Middleware server-specific calls. Middleware server further translate JDBC calls into database specific calls.

Network Protocol Driver

Advantage

  • Does not require any native library to be installed.
  • Database Independency.
  • Provide facility to switch over from one database to another database.

Disadvantage

  • Slow due to increase number of network call.

Thin Driver

This is Driver called Pure Java Driver because. This driver interact directly with database. It does not require any native database library, that is why it is also known as Thin Driver.

Thin Driver

Advantage

  • Does not require any native library.
  • Does not require any Middleware server.
  • Better Performance than other driver.

Disadvantage

  • Slow due to increase number of network call.