📜  Java数据库连接JDBC驱动程序

📅  最后修改于: 2020-02-10 15:20:07             🧑  作者: Mango

Java数据库连接(JDBC)是Java编程语言的应用程序编程接口(API),它定义了客户端如何访问任何类型的表格数据,尤其是关系数据库。它是Oracle公司的Java Standard Edition平台的一部分。它充当Java应用程序和数据库之间的中间层接口。
JDBC类包含在Java包Java.sqlJavax.sql中
JDBC帮助您编写管理以下三个编程活动的Java应用程序:

  1. 连接到数据源,例如数据库。
  2. 将查询和更新语句发送到数据库
  3. 检索并处理从数据库收到的结果以返回您的查询

JDBC的结构


JDBC驱动程序

JDBC驱动程序是客户端适配器(安装在客户端计算机上,而不是服务器上),用于将Java程序的请求转换为DBMS可以理解的协议。JDBC驱动程序有4种类型:

  1. Type-1驱动程序或JDBC-ODBC桥驱动程序
  2. Type-2驱动程序或Native-API驱动程序
  3. Type-3驱动程序或网络协议驱动程序
  4. Type-4驱动程序或Thin驱动程序

Type-1驱动程序
Type-1驱动程序或JDBC-ODBC桥驱动程序使用ODBC驱动程序连接到数据库。JDBC-ODBC桥驱动程序将JDBC方法调用转换为ODBC函数调用。Type-1驱动程序也称为通用驱动程序,因为它可用于连接到任何数据库。

  • 由于使用通用驱动程序来与不同的数据库进行交互,因此通过此驱动程序传输的数据并没有那么安全。
  • 需要将ODBC桥驱动程序安装在各个客户端计算机中。
  • Type-1驱动程序不是用Java编写的,这就是为什么它不是便携式驱动程序的原因。
  • 该驱动程序软件是JDK内置的,因此无需单独安装。
  • 它是数据库独立的驱动程序。

Type-2驱动程序
本机API驱动程序使用数据库的客户端库。该驱动程序将JDBC方法调用转换为数据库API的本机调用。为了与其他数据库进行交互,此驱动程序需要其本地API,这就是为什么与类型1驱动程序相比,数据传输更加安全的原因。

  • 驱动程序需要在单独的客户端计算机中单独安装
  • 供应商客户端库需要安装在客户端计算机上。
  • Type-2驱动程序不是用Java编写的,这就是为什么它不是便携式驱动程序的原因
  • 它是数据库相关的驱动程序。

Type-3驱动程序
网络协议驱动程序使用中间件(应用程序服务器),该中间件将JDBC调用直接或间接转换为供应商特定的数据库协议。这里所有数据库连接驱动程序都存在于单个服务器中,因此不需要单独的客户端安装。

  • Type-3驱动程序完全用Java编写,因此它们是可移植驱动程序。
  • 由于应用服务器可以执行许多任务,例如审核,负载平衡,日志记录等,因此不需要客户端库。
  • 客户端计算机上需要网络支持。
  • 网络协议驱动程序的维护成本很高,因为它需要在中间层完成特定于数据库的编码。
  • 切换工具,可以从一个数据库切换到另一个数据库。

Type-4驱动程序
Type-4驱动程序也称为本机协议驱动程序。该驱动程序直接与数据库交互。它不需要任何本机数据库库,这就是为什么它也称为Thin Driver。

  • 不需要任何本机库和中间件服务器,因此不需要客户端或服务器端安装。
  • 它完全用Java语言编写,因此它们是可移植的驱动程序。

何时使用哪个驱动程序?

  • 如果要访问一种类型的数据库,例如Oracle,Sybase或IBM,则首选的驱动程序类型是type-4。
  • 如果您的Java应用程序同时访问多种类型的数据库,则类型3是首选驱动程序。
  • 在您的数据库尚无法使用3型或4型驱动程序的情况下,2型驱动程序很有用。
  • 类型1驱动程序不被视为部署级驱动程序,通常仅用于开发和测试目的。