📜  JDBC 驱动程序

📅  最后修改于: 2022-05-13 01:55:46.533000             🧑  作者: Mango

JDBC 驱动程序

Java数据库连接 (JDBC)是编程语言Java的应用程序编程接口 (API),它定义了客户端如何访问任何类型的表格数据,尤其是关系数据库。它是 Oracle Corporation 的Java标准版平台的一部分。它充当Java应用程序和数据库之间的中间层接口。

JDBC 类包含在Java包Java.sqljavax.sql中。
JDBC 可帮助您编写管理这三个编程活动的Java应用程序:

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

JDBC的结构

JDBC 驱动程序

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

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

类型 1 驱动程序

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

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

类型 2 驱动程序

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

  • 驱动程序需要单独安装在各个客户端机器上
  • 供应商客户端库需要安装在客户端计算机上。
  • Type-2 驱动程序不是用Java编写的,这就是它不是便携式驱动程序的原因
  • 它是一个依赖于数据库的驱动程序。

3 型驱动程序

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

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

Type-4 驱动程序

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

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

何时使用哪个驱动程序?

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