Java的4种JDBC驱动程序类型解释了

Java教程 2025-08-20

什么是JDBC驱动程序?

要从Java程序连接到数据库,您必须使用专门为要连接的数据库而制作的JDBC(JAVA数据库连接)驱动程序。

每个供应商都提供一个自定义的JDBC驱动程序,可从Java应用程序来回元帅SQL查询到其特定数据库。

  • 要连接到MySQL数据库,您必须下载MySQL JDBC驱动程序。

  • 要连接到HyperSQL数据库,您必须下载HSQLDB JDBC驱动程序。

  • 要连接到DB2数据库,必须下载DB2 JDBC驱动程序。

  • 要连接到Oracle数据库,您必须下载Oracle JDBC驱动程序。

你明白了。

4种JDBC驱动程序类型是什么?

如果您研究API规范,您会注意到有四种不同的JDBC驱动程序类型:

  1. 类型1 JDBC驱动程序只是JDBC-ODBC桥。

  2. 类型2 JDBC驱动程序是用Java以外的其他语言编写的,通常是C ++或C。

  3. 类型3 JDBC驱动程序首先与中间件服务器进行对话,而不是直接的数据库。

  4. 类型4 JDBC驱动程序是纯,直接的Java-to-Database实现。

在这里,我们首先看到Derby JDBC驱动程序加载,然后在Java程序与数据库建立连接之前。

什么是1型JDBC驱动程序?

不建议使用1型JDBC驱动程序用于生产系统。此JDBC驱动程序类型只是另一个数据库协议上的轻便立面。

类型1 JDBC驱动程序涵盖的最常见协议是Open数据库连接(ODBC)。这通常称为JDBC-ODBC桥。

什么是2型JDBC驱动程序?

2型JDBC驱动程序通常用于基于生产的系统中。

IBM DB2提供了用C ++编写的2型JDBC驱动程序,该驱动程序非常快速且高效。它连接到自定义IBM软件,该软件将SQL元帅来回呼叫到Z/OS上托管的数据库,AS/400机器以及其他Unix和Iseries Systems。

作为Java开发人员,我们始终倾向于100%基于Java的解决方案。但是,有时候使用另一种编程语言更有意义。

由于类型2 JDBC驱动程序使用Java以外的其他语言,因此通常称为本机API驱动程序。

什么是3型JDBC驱动程序?

类型3 JDBC驱动程序纯粹是在Java中写的,但它不会直接将SQL调用发送到数据库。

取而代之的是,一个类型3 JDBC驱动程序与单独的软件进行通信,然后元帅来回向目标数据库请求。

Datadirect Sequelink JDBC驱动程序属于3型类别。

什么是4型JDBC驱动程序?

4型JDBC驱动程序完全写在Java中。它还通过使用网络API或Java I/O调用直接连接到目标数据库。

该JDBC驱动程序通常被称为薄JDBC驱动程序,因为它不涉及本机代码,也没有单独的中间件来处理SQL查询。

4型JDBC驱动程序是所有JDBC驱动程序中最常见的。大多数流行的数据库,包括DB2,Derby,HSQLDB和MySQL,都可以用于Java应用程序。

有5型JDBC驱动程序吗?

您可能会听到有关5型JDBC驱动程序的谈论,但是就JDBC规范而言,没有这样的事情。

供应商倾向于吹捧一些新的技术或科学进步,从而使其产品与众不同。在这方面,数据库驱动程序没有什么不同。供应商可能会将他们令人难以置信的革命性壮举标记为5型JDBC司机,但这只是营销炒作。

只有4种JDBC驱动程序类型。

我应该选择哪种JDBC驱动程序类型?

要为您的Java项目选择合适的JDBC驱动程序类型,请问自己以下问题:

  • 我的数据库有哪些JDBC驱动程序?

  • 是否有基于Java的纯JDBC驱动程序可用?

  • 我可能需要来自本机JDBC驱动程序的自定义功能吗?

我什么时候使用JDBC ODBC桥?

如果只有一种可供选择的JDBC驱动程序类型可供选择,则使用哪种JDBC驱动程序类型的问题变得非常容易。

例如,使用Microsoft Access,唯一可用的JDBC驱动程序类型是JDBC-ODBC桥。您没有其他选择。

如果有选项,则纯粹在Java中写的驱动程序优先于本机JDBC驱动程序。

此外,由于安装,维护和迁移要容易得多,因此与3型JDBC驱动程序相比,不需要中间件的4型JDBC驱动程序比3型JDBC驱动程序更容易。

您什么时候应该选择本机API JDBC驱动程序类型?

有时候,2型,本机API驱动程序是JDBC的正确选择。

有时,2型驱动程序会提供与薄JDBC驱动程序功能之外的非标准系统的连接性。同样,2型或类型3驱动程序可能会连接到中间件,该件提供了用于实现服务器端安全性或两阶段交易的特殊功能,这些功能可能在纯Java JDBC驱动程序类型中可能无法使用。

如果您的应用程序需要仅通过本机JDBC驱动程序类型可用的特殊功能,则显然2驱动程序是正确的选择。