JDBC 驱动程序的类型

类型 1:JDBC-ODBC 桥驱动程序

类型 1 JDBC 驱动程序由 Java 部分组成,该部分将 JDBC 接口调用转换为 ODBC 调用。
ODBC 桥然后调用给定数据库的 ODBC 驱动程序,例如:驱动程序将 JDBC 方法调用转换为 ODBC 函数调用。
该驱动程序依赖于平台,因为它使用 ODBC,而 ODBC 又依赖于运行 JVM 的底层操作系统的本机库。
此外,使用此驱动程序会导致其他安装依赖项;例如,安装了该驱动程序的计算机上必须安装ODBC,并且数据库必须支持ODBC 驱动程序。
如果有纯 Java 驱动程序的替代品可用,则不鼓励使用此驱动程序。

Sun 提供了 JDBC-ODBC 桥驱动程序:sun.jdbc.odbc.JdbcOdbcDriver。
此驱动程序是本机代码而不是 Java,并且是封闭源代码。

JDBC驱动程序

Java 数据库连接 (JDBC) 是标准应用程序编程接口 (API) 的 JavaSoft 规范,它允许 Java 程序访问数据库管理系统。

JDBC API 由一组用 Java 编程语言编写的接口和类组成。
JDBC API 定义了程序员用来连接数据库和发送查询的 Java 接口和类。

JDBC 驱动程序为特定的 DBMS 供应商实现这些接口和类。

Java 程序(使用 JDBC API)在实际连接到数据库之前为特定的 DBMS 加载指定的驱动程序。
JDBC 的 DriverManager 类然后将所有 JDBC API 调用发送到加载的驱动程序。

类型 4:纯 Java 驱动程序

JDBC 类型 4 驱动程序,也称为 Direct to Database Pure Java Driver,是一种数据库驱动程序实现,可将 JDBC 调用直接转换为特定于供应商的数据库协议。
它是为特定的数据库产品实现的。
今天,大多数 JDBC 驱动程序都是类型 4 驱动程序。

4 类驱动程序完全用 Java 编写,因此与平台无关。
它们安装在客户端的 Java 虚拟机中。
这提供了比类型 1 和类型 2 驱动程序更好的性能,因为它没有将调用转换为 ODBC 或者数据库 API 调用的开销。
与类型 3 驱动程序不同,它不需要相关软件即可工作。

该架构将整个 JDBC API 实现以及用于直接与数据库通信的所有逻辑封装在
单个驱动程序中。
通过在 100% 的 java 包中包含一个单层和一个小驱动程序,这允许轻松部署并简化开发过程。

例如,这种类型包括广泛使用的 Oracle 瘦驱动程序。

JDBC驱动类型

类型 3:所有 Java + Middleware 翻译驱动程序

类型 3 JDBC 驱动程序是将 JDBC 接口调用发送到中间服务器的全 Java 驱动程序。
然后中间服务器代表 JDBC 驱动程序连接到数据库。
中间层(应用程序服务器)将 JDBC 调用直接或者间接转换为供应商特定的数据库协议。

类型 3 驱动程序寻求成为 100% Java 解决方案,但从未真正获得太多关注。
类型 3 驱动程序有一个 Java 客户端组件和一个 Java 服务器组件,后者实际上与数据库通信。
虽然这在技术上是一个完整的 Java 解决方案,但数据库供应商不喜欢这种方法,因为它成本高昂——他们必须重写他们的本地客户端库,这些库都是 C/C++。
此外,这并没有提高架构效率,因为我们实际上仍然是一个 3 层架构,所以很容易理解为什么这从来不是一个流行的选择。

查看更多教程 https://on  itroad.com

类型 2:本机 API 驱动程序

类型 2 JDBC 驱动程序类似于类型 1 驱动程序,只是 ODBC 部分被替换为本机代码部分。
本机代码部分针对特定的数据库产品,例如:使用数据库产品的客户端库。
驱动程序将 JDBC 方法调用转换为数据库本机 API 的本机调用。

这种架构消除了对 ODBC 驱动程序的需求,而是直接调用数据库供应商提供的本地客户端库。
这很快被 DB 供应商采用,因为它实现起来既快速又便宜,因为他们可以重用现有的基于 C/C++ 的本机库。

日期:2020-09-17 00:09:49 来源:oir作者:oir