Jdbc 简明教程

JDBC Tutorial

What is JDBC?

JDBC API 是一种 Java API,可以访问任何种类的表格数据,尤其是存储在关系数据库中的数据。JDBC 可与各种平台(如 Windows、Mac OS 和各种版本的 UNIX)上的 Java 配合使用。

Why to Learn JDBC?

JDBC 全称 *J*ava *D*ata*b*ase *C*onnectivity,它是用于 Java 编程语言和广泛数据库之间的与数据库无关的连接的标准 Java API。

JDBC 库包括用于以下任务的 API,这些任务通常与数据库使用有关。

  1. 连接到数据库。

  2. 创建 SQL 或 MySQL 语句。

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

  4. 查看修改生成记录。

Applications of JDBC

从根本上说,JDBC 是一套规范,它提供了全面的接口来实现对底层数据库的可移植访问。Java 可用于编写不同类型的可执行文件,比如:

  1. Java Applications

  2. Java Applets

  3. Java Servlets

  4. Java ServerPages (JSPs)

  5. Enterprise JavaBeans (EJBs).

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

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

The JDBC 4.0 Packages

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

这些软件包中的新功能包括以下领域的变更:

  1. Automatic database driver loading.

  2. Exception handling improvements.

  3. Enhanced BLOB/CLOB functionality.

  4. 连接和语句界面增强功能。

  5. National character set support.

  6. SQL ROWID access.

  7. SQL 2003 XML 数据类型支持。

  8. Annotations.

Interfaces and Classes of JDBC API

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

  1. DriverManager class − 用于加载 SQL 驱动程序以连接到数据库。

  2. Connection interface − 用于使用数据库连接字符串和凭据连接到数据库。

  3. Statement interface − 用于向数据库发出查询。

  4. PreparedStatement interface − 用于带有占位符值的查询。

  5. CallableStatement interface − 用于在数据库中调用存储过程或函数。

  6. ResultSet interface − 表示从数据库获得的查询结果。

  7. ResultSetMetaData interface − 表示结果集的元数据。

  8. BLOB class − 表示存储在数据库表中 BLOB 格式的二进制数据。

  9. CLOB class − 表示存储在数据库表中的 XML 等文本数据

Types of API in JDBC

JDBC 驱动程序实现因 Java 运行的各种操作系统和硬件平台而异。Sun 已将实现类型分为四种类别,即第 1、2、3 和 4 类,如下所述 −

  1. Type 1 − JDBC 桥接器用于访问安装在每个客户端计算机上的 ODBC 驱动程序。例如,JDK 1.2 中的 JDBC-ODBC Bridge 驱动程序。

  2. Type 2 − JDBC API 调用将转换为原生的 C/C++ API 调用,这对于数据库是唯一的。这些 API 是特定于供应商的,并且需要安装供应商提供的驱动程序。它还称为 JDBC Native API。例如,Oracle 调用接口 (OCI) 驱动程序。

  3. Type 3 − 使用三层体系结构来访问数据库。JDBC 客户端使用标准网络套接字与中间件应用程序服务器进行通信。然后由中间件应用程序服务器将套接字信息转换为 DBMS 要求的调用格式,并转发到数据库服务器。它还称为 JDBC-Net Pure Java 驱动程序。

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

Audience

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

Prerequisites

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