What is JDBC
In earlier days, the front-end applications are connected to the Databases using the functions provided by
the database vendors.
For example, the C and C++ applications are connected to the databases using a set of functions given by
Oracle Corporation called orcl.h header file.
But, by this, the application becomes database dependent because every DB vendor gives its own set of
functions for communication.
To overcome this, Microsoft with Simba Technologies has provided us with the ODBC (Open Database
Connectivity) community with which we can
connect and communicate with Database in an independent manner.
What is JDBC?
JDBC stands for Java Database Connectivity, which is a standard Java API for database-independent
connectivity between the Java programming language
and databases.
JDBC Architecture
JDBC Architecture consists of two layers −
- 1. JDBC API − This provides the application-to-JDBC Manager connection.
- 2. JDBC Driver API − This supports the JDBC Manager-to-Driver Connection.
The JDBC API uses a driver manager and database-specific drivers to provide transparent connectivity to
heterogeneous databases.
The JDBC driver manager ensures that the correct driver is used to access each data source. The driver
manager is capable of supporting multiple concurrent drivers connected to multiple heterogeneous databases.
Following is the architectural diagram, which shows the location of the driver manager with respect to the
JDBC drivers and the Java application −
Common JDBC Components
The JDBC API provides the following interfaces and classes −
- DriverManager − This class manages a list of database drivers. Matches connection requests from
the java application with the proper database driver using communication sub protocol. The first driver
that recognizes a certain subprotocol under JDBC will be used to establish a database Connection.
- Driver − This interface handles the communications with the database server. You will interact
directly with Driver objects very rarely. Instead, you use DriverManager objects, which manages objects of
this type. It also abstracts the details associated with working with Driver objects.
- Connection − This interface with all methods for contacting a database. The connection object
represents communication context, i.e., all communication with database is through connection object only.
- Statement − You use objects created from this interface to submit the SQL statements to the
database. Some derived interfaces accept parameters in addition to executing stored procedures.
- ResultSet − These objects hold data retrieved from a database after you execute an SQL query
using Statement objects. It acts as an iterator to allow you to move through its data.
- SQLException − This class handles any errors that occur in a database application.