JDBC驱动程序实现JDBC API定义的接口和数据库服务器交互。
例如,使用JDBC驱动程序使您可以打开数据库连接,并与它进行交互,通过发送SQL或数据库命令,然后接收结果返回到Java程序。
java.sql包中附带的JDK包含各种类定义他们的行为和他们的实际实现第三方的驱动程序。第三方供应商在他们的数据库驱动程序实现了java.sql.Driver接口。
JDBC 驱动类型:因为各种各样的操作系统和硬件平台的Java JDBC驱动程序的实现方式各不相同。Sun已经划分成四类,类型1,2,3和4,这是下面说明的实施类型:
类型1: JDBC-ODBC 桥接驱动:
类型1驱动程序,JDBC桥是用来访问ODBC驱动程序安装在每台客户机。使用ODBC需要配置您的系统数据源名称(DSN)表示目标数据库。
当Java刚出来的时候,这是一个有用的驱动程序,因为大多数的数据库只支持ODBC访问,但现在这种类型的驱动程序,建议只对实验性使用,或当没有其他选择的情况下。
JDBC-ODBC桥自带的JDK 1.2是这种驱动器一个很好的例子。
类型 2: JDBC-Native API:
在类型2驱动程序,JDBC API调用被转换成原生的C / C++ API调用的数据库是唯一的。这些驱动程序通常由数据库厂商提供的JDBC-ODBC桥以同样的方式使用供应商特定的驱动程序必须安装在每台客户机。
如果我们改变了数据库,我们必须改变原生API,因为它是特定于数据库,他们大多已过时,但你可以实现一定的速度增加一个类型2驱动程序,因为它消除了ODBC的开销。
Oracle调用接口(OCI)驱动程序是一个类型2驱动程序的一个例子。
类型 3: JDBC-Net 纯Java:
在类型3驱动中,用一个三层的方法来访问数据库。 JDBC客户端使用标准的网络套接字通信的中间件应用服务器。接口的信息,然后转换到调用的DBMS所要求的格式,并转发到数据库服务器的中间件应用服务器。
这种驱动器是非常灵活的,因为它不需要安装在客户端上和实际上可以提供一个单一的驱动程序访问多个数据库的代码。
能想到的应用程序服务器作为一个JDBC“代理”,这意味着它让客户端应用程序调用。因此,需要一些知识的应用服务器的配置,以便有效地使用这个驱动程序类型。
应用程序服务器可以使用类型1,2,或4驱动程序与数据库进行通信,了解细微之处是有用的。
类型4: 100% 纯Java:
类型4的驱动程序,基于纯Java驱动程序,直接与供应商的数据库通过套接字连接。这是最高性能的驱动程序,可用于数据库,通常是由供应商自行提供。
这种驱动器是非常灵活的,不需要在客户端或服务器上安装特殊的软件。此外,这些驱动器可以动态下载。
MySQL的Connector/J驱动是一个Type4驱动程序。因为他们的专有性网络协议,数据库厂商通常提供类型4驱动程序。
应使用哪个驱动程序?如果访问的是以下类型的数据库,如Oracle,Sybase或IBM,那么首选驱动程序类型4。
如果Java应用程序在同一时间访问多个类型的数据库,类型3是优选的驱动程序。
类型2驱动程序在 第3类或4类驱动程序不可用去访问数据库的情况下用。
类型1驱动程序不被认为是部署级别的驱动程序,通常仅用于开发和测试目的。