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,这些任务通常与数据库使用有关。
-
连接到数据库。
-
创建 SQL 或 MySQL 语句。
-
在数据库中执行 SQL 或 MySQL 查询。
-
查看修改生成记录。
Applications of JDBC
从根本上说,JDBC 是一套规范,它提供了全面的接口来实现对底层数据库的可移植访问。Java 可用于编写不同类型的可执行文件,比如:
-
Java Applications
-
Java Applets
-
Java Servlets
-
Java ServerPages (JSPs)
-
Enterprise JavaBeans (EJBs).
所有这些不同的可执行文件都能够通过 JDBC 驱动程序来访问数据库并充分利用存储的数据。
JDBC 提供与 ODBC 相同的功能,允许 Java 程序包含数据库无关的代码。
The JDBC 4.0 Packages
java.sql 和 javax.sql 是 JDBC 4.0 的主包。在撰写本教程时,这是最新的 JDBC 版本。它提供了用于与数据源进行交互的主要类。
这些软件包中的新功能包括以下领域的变更:
-
Automatic database driver loading.
-
Exception handling improvements.
-
Enhanced BLOB/CLOB functionality.
-
连接和语句界面增强功能。
-
National character set support.
-
SQL ROWID access.
-
SQL 2003 XML 数据类型支持。
-
Annotations.
Interfaces and Classes of JDBC API
以下是 JDBC API 中最常用的接口和类的列表。
-
DriverManager class − 用于加载 SQL 驱动程序以连接到数据库。
-
Connection interface − 用于使用数据库连接字符串和凭据连接到数据库。
-
Statement interface − 用于向数据库发出查询。
-
PreparedStatement interface − 用于带有占位符值的查询。
-
CallableStatement interface − 用于在数据库中调用存储过程或函数。
-
ResultSet interface − 表示从数据库获得的查询结果。
-
ResultSetMetaData interface − 表示结果集的元数据。
-
BLOB class − 表示存储在数据库表中 BLOB 格式的二进制数据。
-
CLOB class − 表示存储在数据库表中的 XML 等文本数据
Types of API in JDBC
JDBC 驱动程序实现因 Java 运行的各种操作系统和硬件平台而异。Sun 已将实现类型分为四种类别,即第 1、2、3 和 4 类,如下所述 −
-
Type 1 − JDBC 桥接器用于访问安装在每个客户端计算机上的 ODBC 驱动程序。例如,JDK 1.2 中的 JDBC-ODBC Bridge 驱动程序。
-
Type 2 − JDBC API 调用将转换为原生的 C/C++ API 调用,这对于数据库是唯一的。这些 API 是特定于供应商的,并且需要安装供应商提供的驱动程序。它还称为 JDBC Native API。例如,Oracle 调用接口 (OCI) 驱动程序。
-
Type 3 − 使用三层体系结构来访问数据库。JDBC 客户端使用标准网络套接字与中间件应用程序服务器进行通信。然后由中间件应用程序服务器将套接字信息转换为 DBMS 要求的调用格式,并转发到数据库服务器。它还称为 JDBC-Net Pure Java 驱动程序。
-
Type 4 − 基于 Java 的纯驱动程序通过套接字连接直接与供应商的数据库通信。这是可用于数据库的最高性能驱动程序,通常由供应商自身提供。例如,MySQL 的 Connector/J 驱动程序用于连接到 MySQL 数据库。