There are four types of JDBC drivers each having its own functionality. They are classified based on how they access data from the database. They do not substitute one another.
JDBC-ODBC bridge driver- : It provides JDBC access via most ODBC drivers.
Native –API party : Java driver – It coverts JDBC calls into calls on the Client API for Oracle, Sybase, etc.
Native- protocol all –Java driver : It converts JDBC calls into the network protocol used by DBMS directly. This allows a direct call from the client machine to the DBMS server and is a practical solution for intranet access.
Net-protocol all- Java driver : It translates JDBC calls into a DBMS independent net protocol which is then translated to DBMS protocol by a server. This net server middle-ware is able to connect all Java clients to many different databases.