|
|||||||||
软件包 java.sql
提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。请参见:
描述
接口摘要 | |
---|---|
Array | SQL 类型 ARRAY 在 Java 编程语言中的映射关系。 |
Blob | SQL BLOB 值在 JavaTM 编程语言中的表示形式(映射关系)。 |
CallableStatement | 用于执行 SQL 存储过程的接口。 |
Clob | SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。 |
Connection | 与特定数据库的连接(会话)。 |
DatabaseMetaData | 关于数据库的整体综合信息。 |
Driver | 每个驱动程序类必须实现的接口。 |
ParameterMetaData | 可用于获取关于 PreparedStatement 对象中参数的类型和属性信息的对象。 |
PreparedStatement | 表示预编译的 SQL 语句的对象。 |
Ref | Java 编程语言中 SQL REF 值的映射关系,它是到数据库中的 SQL 结构类型值的引用。 |
ResultSet | 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 |
ResultSetMetaData | 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象。 |
Savepoint | 保存点的表示形式,保存点是可以从 Connection.rollback 方法引用的当前事务中的点。 |
SQLData | 该接口用于 SQL 用户定义类型 (UDT) 到 Java 编程语言中类的自定义映射关系。 |
SQLInput | 一个输入流,它包含表示 SQL 结构化类型或 SQL 不同类型的实例的值组成的流。 |
SQLOutput | 用于将用户定义类型的属性写回数据库的输出流。 |
Statement | 用于执行静态 SQL 语句并返回它所生成结果的对象。 |
Struct | 用于 SQL 结构化类型的 Java 编程语言中的标准映射关系。 |
类摘要 | |
---|---|
Date | 一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 JDBC 将毫秒值标识为 SQL DATE 值。 |
DriverManager | 管理一组 JDBC 驱动程序的基本服务。 |
DriverPropertyInfo | 用于建立连接的驱动程序属性。 |
SQLPermission | SecurityManager 将用来检查在 applet 中运行的代码何时调用 DriverManager.setLogWriter 方法或 DriverManager.setLogStream (不建议使用)方法的权限。 |
Time | 一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC 将该类标识为 SQL TIME 值。 |
Timestamp | 一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。 |
Types | 定义用于标识一般 SQL 类型(称为 JDBC 类型)的常量的类。 |
异常摘要 | |
---|---|
BatchUpdateException | 当在进行批量更新操作期间发生错误时,抛出该异常。 |
DataTruncation | 报告 DataTruncation 警告的异常(读取时),或者 JDBC 意外地截断某一数据值时抛出 DataTruncation 异常(写入时)。 |
SQLException | 该异常提供关于数据库访问错误或其他错误的信息。 |
SQLWarning | 提供关于数据库访问警告信息的异常。 |
软件包 java.sql 的描述
提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。尽管 JDBCTM API 主要用于将 SQL 语句传递给数据库,但它还可以用于以表格方式从任何数据源中读写数据。通过接口的 javax.sql.RowSet
组可以使用的 reader/writer 实用程序,可以被定制以使用和更新来自电子表格、纯文本文件或其他任何表格式数据源的数据。
JDBCTM 3.0 API 中包括的内容
JDBCTM 3.0 API 中包括java.sql
包,被称为 JDBC 核心 API,和 javax.sql
包,被称为 JDBC Optional Package API。完整的 JDBC API 包含在 J2SE 1.4 中。javax.sql
包扩展了 JDBC API 的功能,将它从客户端 API 扩展到服务器端 API,该包是 JavaTM 2 SDK、企业版 (J2EETM) 技术的重要部分。(注意,J2EE 平台还包括完整 JDBC API;JDBC 3.0 API 中的新特性包含在 J2EE 1.3 版中)。
版本
JDBC 3.0 API 综合了以前所有 JDBC API 版本:- JDBC 2.1 核心 API
- JDBC 2.0 Optional Package API
(注意,JDBC 2.1 核心 API 和 JDBC 2.0 Optional Package API 组合在一起被称为 JDBC 2.0 API。) - The JDBC 1.2 API
- The JDBC 1.0 API
类、接口、方法、字段、构造方法和异常都有以下 "since" 标记,以指示它们何时被引入 Java 平台。当将这些 "since" 标记用于 JDBC API 的 JavadocTM 注释时,它们指示以下内容:
- Since 1.4:JDBC 3.0 API 中的新内容和 J2SE 平台 1.4 版的部分内容
- Since 1.2:JDBC 2.0 API 中的新内容和 J2SE 平台 1.2 版的部分内容
- Since 1.1 或者没有 "since" 标记:原始 JDBC 1.0 API 和 JDKTM 1.1 版的部分内容
注:许多新特性都是可选的,因此,在这些版本支持的驱动程序和特性中有一些变体。在尝试使用它之前,总是检查驱动程序的文档,以查看它是否支持某一特性。
注:SQLPermission
类被添加到 JDK 1.3 中。此类用于防止对与 DriverManager
相关联的记录流进行无授权访问,该流可以包含诸如表名称、列数据等信息。
java.sql
Package 包含的内容
java.sql
包中包含用于以下方面的 API:
- 通过
DriverManager
实用程序建立与数据库的连接DriverManager
类:建立与驱动程序的连接SQLPermission
类:当代码在 Security Manager(比如 applet)中运行时提供权限,试图通过DriverManager
设置一个记录流Driver
接口:提供用来注册和连接基于 JDBC 技术(“JDBC 驱动程序”)的驱动程序的 API,通常仅由DriverManager
类使用DriverPropertyInfo
类:提供 JDBC 驱动程序的属性,不是供一般用户使用的
- 向数据库发送 SQL 语句
Statement
:用于发送基本 SQL 语句PreparedStatement
:用于发送准备好的语句或基本 SQL 语句(派生自Statement
)CallableStatement
:用于调用数据库存储过程(派生自PreparedStatement
)Connection
接口:提供创建语句以及管理连接及其属性的方法Savepoint
:在事务中提供保存点
- 检索和更新查询的结果
ResultSet
接口
- SQL 类型到 Java 编程语言中的类和接口的标准映射关系
Array
接口:SQLARRAY
的映射关系Blob
接口:SQLBLOB
的映射关系Clob
接口:SQLCLOB
的映射关系Date
类:SQLDATE
的映射关系Ref
接口:SQLREF
的映射关系Struct
接口:SQLSTRUCT
的映射关系Time
类:SQLTIME
的映射关系Timestamp
类:SQLTIMESTAMP
的映射关系Types
类:提供用于 SQL 类型的常量
- 自定义映射 SQL 用户定义类型 (UDT) 到 Java 编程语言中的类
SQLData
接口:指定 UDT 到此类的一个实例的映射关系SQLInput
接口:提供用来从流中读取 UDT 属性的方法SQLOutput
接口:提供用来将 UDT 属性写回流中的方法
- 元数据
DatabaseMetaData
接口:提供有关数据库的信息ResultSetMetaData
接口:提供有关ResultSet
对象的列的信息ParameterMetaData
接口:提供有关PreparedStatement
命令的参数的信息
- 异常
SQLException
:由大多数方法在访问数据出问题时抛出,以及因为其他原因由其他一些方法抛出SQLWarning
:为了指示一个警告而抛出DataTruncation
:为了指示数据可能已经被截断而抛出BatchUpdateException
:为了指示并不是批量更新中的所有命令都成功执行而抛出
JDBC 3.0 API 中引入的 java.sql
和 javax.sql
特性
- 入池语句 (pooled statement):重新使用与某个已入池的连接 (pooled connection) 相关的语句
- 保存点:允许将事务回滚到某一指定保存点
- 为
ConnectionPoolDataSource
定义的属性:指定将连接入池的方法 PreparedStatement
对象的参数的元数据- 从自动生成的列中检索值的能力
- 使从
CallableStatement
对象中返回的多个ResultSet
对象同时打开的能力 - 通过名称和索引标识
CallableStatement
对象的参数的能力 ResultSet
可保存性:指定是否应该让游标在某一事务结束时保持打开或关闭状态的能力- 检索和更新
Ref
对象引用的 SQL 结构化类型实例的能力 - 通过编程方式更新
BLOB
、CLOB
、ARRAY
和REF
值的能力。 java.sql.Types.DATALINK
数据类型的添加:允许 JDBC 驱动程序访问数据源以外的地方存储的对象- 用于检索 SQL 类型分层结构的元数据的添加
JDBC 2.1 Core API 中引入的 java.sql
特性
- 可滚动的结果集:使用
ResultSet
接口中的新方法,这些方法允许将光标移动到某一特定行,或者移动到其当前位置的某一相对位置 - 批量更新
- 编程式更新:使用
ResultSet
updater 方法 - 新数据类型:映射 SQL3 数据类型的接口
- 用户定义类型 (UDT) 的自定义映射关系
- 其他特性,包括性能提示、字符流的使用、
java.math.BigDecimal
值的完全精度、其他安全性,以及对日期、时间和时间戳值中的时区的支持。
JDBC 2.0 Package API 中引入的 javax.sql
特性
DataSource
接口被认为是建立连接的一种方式。Java Naming 和 Directory InterfaceTM (JNDI) 用于向命名服务注册一个DataSource
对象和检索该对象。- 入池连接:允许使用和重新使用连接
- 分布式事务:允许事务跨越不同的 DBMS 服务器
RowSet
技术:提供一个处理和传递数据的便捷方法
UDT 的自定义映射关系
可以将 SQL 中定义的用户定义类型 (UDT) 映射到 Java 编程语言中的类。SQL 结构化类型或 SQLDISTINCT
类型是可以自定义映射的 UDT。以下三个步骤设置了一个自定义映射关系:
- 在 SQL 中定义 SQL 结构化类型或
DISTINCT
类型 - 定义 Java 编程语言中的类,SQL UDT 将映射到该类。此类必须实现
SQLData
接口。 - 在
Connection
对象的类型映射表中创建一个项,该项包含两项内容:- UDT 的完全限定 SQL 名称
- 实现
SQLData
接口的类的Class
对象
为 UDT 准备好这些之后,在该 UDT 上调用 ResultSet.getObject
或 CallableStatement.getObject
方法将自动检索该 UDT 的自定义映射关系。此外,PreparedStatement.setObject
方法会自动将该对象映射回其 SQL 类型,以便将它存储在数据源中。
包规范
相关文档
- Getting Started:主要接口的概述
- Chapters on the JDBC API:来自 The Java Tutorial Continued 的在线版本
- JDBCTMAPI Tutorial and Reference, Second Edition:Universal Data Access for the Java 2 Platform:JDBC 2.0 API 的完整的参考和指南
- 从以下版本开始:
- 1.1
所有类
|
|||||||||