Type 1: JDBC-ODBC Bridge
JDBC-ODBC Bridge,translates all JDBC calls into ODBC (Open DataBase Connectivity) calls and sends them to the ODBC driver.As such, the ODBC driver, as well as, in many cases, the client database code, must be present on the client machine.
Type 2: Native-API/partly Java driver
The native-API/partly Java driver converts JDBC calls into database-specific calls for databases such as SQL Server, Informix, Oracle, or Sybase. The type 2 driver communicates directly with the database server; therefore it requires that some binary code be present on the client machine.
Type 3: Net-protocol/all-Java driver
The net-protocol/all-Java driver follows a three-tiered approach whereby the JDBC database requests are passed through the network to the middle-tier server. The middle-tier server then translates the request to the database-specific native-connectivity interface to further the request to the database server. If the middle-tier server is written in Java, it can use a type 1 or type 2 JDBC driver to do this.
Type 4- Pure Java Driver
Type 4 are direct-to-database pure Java drivers ("thin" drivers). a pure Java-based driver that communicates directly with vendor's database through socket connection. This is the highest performance driver available for the database and is usually provided by the vendor itself. Each DBMS requires its own Type 4 driver; therefore, there are more drivers to manage in a heterogeneous computing environment, but this is outweighed by the fact that Type 4 drivers provide faster performance and direct access to DBMS features.