JDBC 车手

原文:https://www.geeksforgeeks.org/jdbc-drivers/

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

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

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

JDBC 的结构

JDBC 车手

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

  1. 类型 1 驱动程序或 JDBC-ODBC 桥驱动程序
  2. 类型 2 驱动程序或本地应用编程接口驱动程序
  3. 类型 3 驱动程序或网络协议驱动程序
  4. 类型 4 驱动程序或精简驱动程序

1 型驱动器

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

  • 由于使用通用驱动程序与不同的数据库进行交互,因此通过该驱动程序传输的数据并不安全。
  • 需要在单独的客户端机器上安装 ODBC 桥驱动程序。
  • Type-1 驱动程序不是用 java 编写的,这就是为什么它不是一个可移植的驱动程序。
  • 这个驱动软件是 JDK 内置的,所以不需要单独安装。
  • 它是一个独立于数据库的驱动程序。

2 型驱动器

本机应用编程接口驱动程序使用数据库的客户端库。该驱动程序将 JDBC 方法调用转换为数据库应用编程接口的本机调用。为了与不同的数据库交互,这个驱动程序需要它们的本地应用编程接口,这就是为什么数据传输比类型 1 驱动程序安全得多的原因。

  • 驱动程序需要单独安装在各个客户端计算机上
  • 供应商客户端库需要安装在客户端计算机上。
  • Type-2 驱动程序不是用 java 编写的,这就是为什么它不是一个可移植的驱动程序
  • 它是一个依赖于数据库的驱动程序。

3 型驱动器

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

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

4 型驱动器

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

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

何时使用哪个驱动程序?

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

本文由 Sangeet Anand 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。

如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。