The full form of JDBC is Java Database Connectivity, which is essentially a Java API used to perform database queries and database connections. It is considered part of Java SE, Java Standard Edition. The JDBC API uses JDBC drivers to connect to the database. Below we can see the four types of JDBC drivers:
JDBC-ODBC bridge driver
JDBC Thin JDBC driver
Local driver and
Network Protocol Driver
The JDBC API can be used to access tabular data stored in any relational database. The JDBC API allows you to store, update, delete, and retrieve data from the database. It is therefore considered an Open Database Connectivity (ODBC) interface provided by Microsoft.
JDBC can be used to connect an application to the database and store and retrieve data through queries. Users can also update the data through queries. This made it possible to perform all these tasks in a Java application.
It helps to connect to the data source easily.
It allows sending requests and notifications of updates.
It helps to retrieve data from the database and process the results easily.
SQL queries and requests can be sent and results can be retrieved by calling classes and JDBC interfaces through the Java application. The JDBC driver helps to implement the JDBC API. This driver consists of a set of classes that implement the JDBC interface. It helps to process JDBC calls and send the outputs/results to the Java application. A database is a storage system where all the data can be stores and JDBC can be used to retrieve that data for using it in an application.
Before its advent, we used the ODBC API to connect to the database and execute queries. However, the ODBC API uses the ODBC module of the C language. This is platform dependent and not secure. That is the reason that Java has made its JDBC API which connects an application to a database through JDBC drivers. These drivers are also written in Java.
It supports two-level and three-level processing models for database access. However, its overall architecture has two layers as listed below:
This layer supports the connection of the application to the JDBC manager. A management driver and database-specific drivers are used to provide transparent access to heterogeneous databases.
This layer provides a connection to the JDBC driver. This driver handler ensures that the correct driver accesses each data source. JDBC Driver API has the ability of supporting different types of drivers which can be connected to different databases.
It consists of the following interfaces and classes, which can be defined as components.
Driver manager has the task of maintaining the list of drivers in a database. It also uses a communication protocol to coordinate the connection requests between the Java application and the database driver. To connect to the database, the first driver that understands the JDBC sub-protocol is created.
The interface that handles the communication between the application and the database server is called the driver. It is very rare to be able to communicate directly with the control object, as the control object is usually the most used object.
The contact interface is used to connect to the database, along with all its methods. The contact object represents the communication context. This means that the communication with the database is done only through the contact object.
Objects created with this interface can send SQL commands to the database. Some derived interfaces also receive parameters when a particular stored procedure is invoked.
The ResultSet object is used to store data retrieved from the database, this is done using the Statement object after the SQL query has been executed. It also acts as an iterator and can be used to step through the data.
The SQL Exception class is used to handle errors in a database program.
There are many advantages of JDBC, here are some of them
Businesses can continue to use the installed database and access information even if it is stored in another database management system.
The combination of Java API and JDBC API makes application development simple and convenient.
No client-side configuration is required and software support can be centralized. Since the driver is written in Java, the only information required to establish a connection is specified in the JDBC or DataSource object URL. The DataSource object is registered using the Java Naming and Directory Interface (JNDI). The DataSource object is registered using the Java Naming and Directory Interface (JNDI) service.
Understand the basic structure and functionality of database connections; the JDBC API provides access to metadata and enables the development of complex applications.