JDBC Driver
Through the JDBC API a JDBC Driver functions as a software component that allows Java applications to communicate with databases. A JDBC Driver serves as an intermediary connection between a Java application and the database system.
The 4 Types of JDBC Drivers
Java specifies four different JDBC drivers which are grouped according to their database communication methods.
Type-1: JDBC-ODBC Bridge Driver
The JDBC-ODBC Bridge Driver sends database commands through the ODBC driver installed on the client computer.
Architecture
Java App → JDBC-ODBC Bridge → ODBC Driver → Database
Advantages:
- Easy to use for prototyping
- An ODBC driver allows connections to any database system.
Disadvantages:
- Platform-dependent (needs native ODBC)
- Slower than other types
- Deprecated and removed in Java 8+
Type-2: Native-API Driver
The driver employs native database client libraries such as Oracle OCI and DB2 CLI to transform JDBC calls into calls that target specific databases.
Architecture
This architecture connects Java Apps to databases through JDBC Drivers which then utilize Native DB APIs before accessing the Database.
Advantages:
- Better performance than Type-1
- Supports complex features of databases
Disadvantages:
- Requires native libraries on the client system
- Not portable across platforms
Type-3: Network Protocol Driver (Middleware Driver)
This architecture employs a middleware server that processes JDBC calls from the client and converts them into database protocol commands.
Architecture
The Java application utilizes the JDBC driver to communicate with a middleware server which then interfaces with the DB driver to access the database.
Advantages:
- Database-independent on the client
- Centralized configuration and management
Disadvantages:
- Requires additional middleware software
- Slower than Type-4 due to extra layer
Type-4: Thin Driver (Pure Java Driver)
This driver transforms JDBC calls into database protocol commands through pure Java code. No native libraries required.
Architecture
Java App → JDBC Thin Driver → Database
Advantages:
- Platform-independent
- Best performance
- Most widely used today
Disadvantages:
- Driver is database-specific
| Type | Name | Platform Independent | Performance | Requires Native Code | Use Case |
|---|---|---|---|---|---|
| Type 1 | JDBC-ODBC Bridge | ❌ | Low | ✅ | Legacy/testing only |
| Type 2 | Native-API | ❌ | Medium | ✅ | Local/legacy enterprise |
| Type 3 | Network Protocol Driver | ✅ | Medium | ❌ | Middleware-based systems |
| Type 4 | Thin Driver | ✅ | High | ❌ | Modern Java applications |
Quickly Find What You Are Looking For
OnlineTpoint is a website that is meant to offer basic knowledge, practice and learning materials. Though all the examples have been tested and verified, we cannot ensure the correctness or completeness of all the information on our website. All contents published on this website are subject to copyright and are owned by OnlineTpoint. By using this website, you agree that you have read and understood our Terms of Use, Cookie Policy and Privacy Policy.
point.com