JDBC Tutorial

JDBC 教程

什么是 JDBC?

JDBC API 是一个 Java API,可以访问任何类型的表格数据,特别是存储在关系数据库中的数据。JDBC 可在各种平台上的 Java 上运行,例如 Windows、Mac OS 和各种 UNIX 版本。

为什么要学习 JDBC?

JDBC 代表 **J**ava **D**ata**b**ase **C**onnectivity,它是一个标准的 Java API,用于在 Java 编程语言和各种数据库之间实现数据库无关的连接。

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

  • 连接到数据库。

  • 创建 SQL 或 MySQL 语句。

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

  • 查看和修改结果记录。

JDBC 的应用

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

  • Java 应用程序

  • Java Applet

  • Java Servlet

  • Java ServerPages (JSP)

  • Enterprise JavaBeans (EJB)。

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

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

JDBC 4.0 包

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

这些包中的新功能包括以下方面的更改:

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

  • 异常处理改进。

  • 增强的 BLOB/CLOB 功能。

  • 连接和语句接口增强。

  • 国家字符集支持。

  • SQL ROWID 访问。

  • SQL 2003 XML 数据类型支持。

  • 注解。

JDBC API 的接口和类

以下是 JDBC API 中最常用的接口和类的列表。

  • DriverManager 类 - 用于加载 SQL 驱动程序以连接到数据库。

  • Connection 接口 - 用于使用数据库连接字符串和凭据建立与数据库的连接。

  • Statement 接口 - 用于向数据库发出查询。

  • PreparedStatement 接口 - 用于带有占位符值的查询。

  • CallableStatement 接口 - 用于调用数据库中的存储过程或函数。

  • ResultSet 接口 - 表示从数据库获得的查询结果。

  • ResultSetMetaData 接口 - 表示结果集的元数据。

  • BLOB 类 -

    表示以 BLOB 格式存储在数据库表中的二进制数据。
  • CLOB 类 -

    表示存储在数据库表中的文本数据,例如 XML。

JDBC 中的 API 类型

由于 Java 运行的各种操作系统和硬件平台,JDBC 驱动程序的实现各不相同。Sun 将实现类型分为四类:类型 1、2、3 和 4,如下所述:

  • 类型 1 - 使用 JDBC 桥接器访问安装在每台客户端机器上的 ODBC 驱动程序。例如,JDK 1.2 中的 JDBC-ODBC Bridge 驱动程序。

  • 类型 2 - JDBC API 调用被转换为特定于数据库的本机 C/C++ API 调用。这些 API 是供应商特定的,需要安装供应商提供的驱动程序。它也称为 JDBC Native API。例如,Oracle Call Interface (OCI) 驱动程序。

  • 类型 3 - 使用三层方法访问数据库。JDBC 客户端使用标准网络套接字与中间件应用程序服务器通信。然后,套接字信息由中间件应用程序服务器转换为 DBMS 所需的调用格式,并转发到数据库服务器。它也称为 JDBC-Net 纯 Java 驱动程序。

  • 类型 4 - 基于纯 Java 的驱动程序通过套接字连接直接与供应商的数据库通信。这是数据库可用的最高性能驱动程序,通常由供应商自己提供。例如,MySQL 的 Connector/J 驱动程序用于连接到 MySQL 数据库。

目标读者

本教程专为希望详细了解 JDBC 框架及其架构和实际用法的 Java 程序员而设计。

前提条件

在继续学习本教程之前,您应该对 Java 编程语言有很好的理解。由于您将处理 RDBMS,因此您应该事先了解 SQL 和数据库概念。

广告