JDBC (Java Database Connectivity)
Last Updated :
15 Sep, 2025
JDBC is an API that helps applications to communicate with databases. It allows Java programs to connect to a database, run queries, retrieve and manipulate data. Because of JDBC, Java applications can easily work with different relational databases like MySQL, Oracle, PostgreSQL and more.
JDBC Architecture
Components of JDBC
1. Application: It can be a Java application or servlet that communicates with a data source.
2. JDBC API: It allows Java programs to execute SQL queries and get results from the database. Some key components of JDBC API include
- Interfaces like Driver, ResultSet, RowSet, PreparedStatement and Connection that helps managing different database tasks.
- Classes like DriverManager, Types, Blob and Clob that helps managing database connections.
3. DriverManager: It plays an important role in the JDBC architecture. It uses some database-specific drivers to effectively connect enterprise applications to databases.
4. JDBC drivers: These drivers handle interactions between the application and the database.
JDBC Processing Models
The JDBC architecture consists of two-tier and three-tier processing models to access a database. They are as described below:
1. Two-Tier Architecture
A Java Application communicates directly with the database using a JDBC driver. It sends queries to the database and then the result is sent back to the application. For example, in a client/server setup, the user's system acts as a client that communicates with a remote database server.
Structure:
Client Application (Java) -> JDBC Driver -> Database
2. Three-Tier Architecture
In this, user queries are sent to a middle-tier services, which interacts with the database. The database results are processed by the middle tier and then sent back to the user.
Structure:
Client Application -> Application Server -> JDBC Driver -> Database
JDBC Drivers
JDBC drivers are client-side adapters (installed on the client machine, not on the server) that convert requests from Java programs to a protocol that the DBMS can understand. There are 4 types of JDBC drivers:
- Type-1 driver or JDBC-ODBC bridge driver
- Type-2 driver or Native-API driver (partially java driver)
- Type-3 driver or Network Protocol driver (fully java driver)
- Type-4 driver or Thin driver (fully java driver) - It is a widely used driver. The older drivers like (JDBC-ODBC) bridge driver have been deprecated and no longer supported in modern versions of Java.
JDBC Classes and Interfaces
Class/Interfaces | Description |
|---|
| DriverManager | Manages JDBC drivers and establishes database connections. |
| Connection | Represents a session with a specific database. |
| Statement | Used to execute static SQL queries. |
| PreparedStatement | Precompiled SQL statement, used for dynamic queries with parameters. |
| CallableStatement | Used to execute stored procedures in the database. |
| ResultSet | Represents the result set of a query, allowing navigation through the rows. |
| SQLException | Handles SQL-related exceptions during database operations. |
Related Article
Explore
Java Basics
OOP & Interfaces
Collections
Exception Handling
Java Advanced
Practice Java