JDBC - 简介

什么是 JDBC?

JDBC 代表 Java Database Connectivity,它是一个标准的 Java API,用于独立于数据库 Java 编程语言和广泛的数据库之间的连接。

JDBC 库包含以下提到的每个任务的 API,这些任务通常与数据库使用相关联。

  • 与数据库建立连接。

  • 创建 SQL 或 MySQL 语句。

  • 在数据库中执行 SQL 或 MySQL 查询。

  • 查看 & 修改结果记录。

从根本上说,JDBC 是一种规范,它提供了一套完整的接口,允许对底层数据库进行可移植访问。 Java 可用于编写不同类型的可执行文件,例如 −

  • Java Applications

  • Java Applets

  • Java Servlets

  • Java ServerPages (JSPs)

  • Enterprise JavaBeans (EJBs).

所有这些不同的可执行文件都能够使用 JDBC 驱动程序来访问数据库,并利用存储的数据。

JDBC 提供与 ODBC 相同的功能,允许 Java 程序包含独立于数据库的代码。


先决条件

在进一步深入之前,您需要对以下两个主题有一个很好的了解 −


JDBC 架构

JDBC API 支持用于数据库访问的两层和三层处理模型,但一般来说,JDBC 架构由两层组成 −

  • JDBC API − 这提供了应用程序到 JDBC 管理器的连接。

  • JDBC Driver API − 这支持 JDBC 管理器到驱动程序的连接。

JDBC API 使用驱动程序管理器和特定于数据库的驱动程序来提供与异构数据库的透明连接。

JDBC 驱动程序管理器确保使用正确的驱动程序来访问每个数据源。 驱动管理器能够支持连接到多个异构数据库的多个并发驱动。

下面是架构图,它显示了驱动程序管理器相对于 JDBC 驱动程序和 Java 应用程序的位置 −

JDBC 架构

通用 JDBC 组件

JDBC API 提供以下接口和类 −

  • DriverManager − 此类管理数据库驱动程序列表。 使用通信子协议将来自 java 应用程序的连接请求与适当的数据库驱动程序匹配。 第一个识别 JDBC 下某个子协议的驱动程序将用于建立数据库连接。

  • Driver − 该接口处理与数据库服务器的通信。 您很少会直接与 Driver 对象进行交互。 相反,您使用 DriverManager 对象来管理这种类型的对象。 它还抽象出与使用 Driver 对象相关的细节。

  • Connection − 此接口与用于联系数据库的所有方法。 连接对象表示通信上下文,即与数据库的所有通信都仅通过连接对象。

  • Statement − 您可以使用从此接口创建的对象将 SQL 语句提交到数据库。 除了执行存储过程之外,一些派生接口还接受参数。

  • ResultSet − 在您使用 Statement 对象执行 SQL 查询后,这些对象保存从数据库中检索的数据。 它充当迭代器,允许您在其数据中移动。

  • SQLException − 此类处理数据库应用程序中发生的任何错误。


JDBC 4.0 包

java.sql 和 javax.sql 是 JDBC 4.0 的主要包。 这是编写本教程时的最新 JDBC 版本。 它提供了与数据源交互的主要类。

这些软件包中的新功能包括以下方面的更改 −

  • 自动加载数据库驱动程序。

  • 异常处理改进。

  • 增强的 BLOB/CLOB 功能。

  • 连接和语句接口增强。

  • 国家字符集支持。

  • SQL ROWID 访问。

  • SQL 2003 XML 数据类型支持。

  • 注解。