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 optimized for basic learning, practice and more. Examples are well checked and working examples available on this website but we can't give assurity for 100% correctness of all the content. This site under copyright content belongs to Onlinetpoint. You agree to have read and accepted our terms of use, cookie and privacy policy.