|
|||||||||
软件包 javax.sql.rowset
JDBCRowSet
实现的标准接口和基类。
请参见:
描述
接口摘要 | |
---|---|
CachedRowSet | 所有标准 CachedRowSet 实现都必须实现的接口。 |
FilteredRowSet | 所有标准 FilteredRowSet 实现都必须实现的标准接口。 |
JdbcRowSet | 所有标准 JdbcRowSet 实现都必须实现的标准接口。 |
Joinable | 1.0 背景 Joinable 接口提供了用于获取和设置匹配列的各种方法,匹配列是形成通过将 RowSet 对象添加到 JoinRowSet 对象所形成的 SQL JOIN 的基础。 |
JoinRowSet | JoinRowSet 接口提供了一种机制,用于将取自不同 RowSet 对象的相关数据组合到一个 JoinRowSet 对象中,该对象表示一个 SQL JOIN 。 |
Predicate | 为所有 FilteredRowSet 对象提供框架以描述其过滤器的标准接口。 |
WebRowSet | 所有 WebRowSet 的实现都必须实现的标准接口。 |
类摘要 | |
---|---|
BaseRowSet | 提供一个具有基本功能的 RowSet 对象的抽象类。 |
RowSetMetaDataImpl | 为设置和获取关于 RowSet 对象列的元数据信息的方法提供实现。 |
异常摘要 | |
---|---|
RowSetWarning | SQLException 的一个扩展,提供关于在 RowSet 对象上设置的数据库警告的信息。 |
软件包 javax.sql.rowset 的描述
JDBC RowSet
实现的标准接口和基类。此包包含了标准 RowSet
实现可实现或扩展的各种接口和类。
目录
1.0 包规范
此包指定了 5 个标准的 JDBCRowSet
接口。所有这 5 个接口都扩展了 JDBC 3.0 规范中描述的 RowSet 接口。可以预计随着此项技术的成熟,会出现其他更专用 JDBC RowSet
类型的定义。以后的定义应该 通过继承指定为子接口,与此规范中所用的方式类似。
注:此包中提供的接口定义构成了所有兼容 JDBC RowSet
实现的基础。供应商和打算提供其自己的兼容 RowSet
实现的高级开发人员应该特别注意在接口规范中详述的声明。
2.0 标准 RowSet 定义
JdbcRowSet
- ResultSet 对象的包装器,使得该结果集用作 JavaBeansTM 组件成为可能。因此,JdbcRowSet 对象可以是一个 Bean,任何工具都可将其作为基于架构的组件部分来组装应用程序。JdbcRowSet 对象是连接的RowSet
对象,也就是说,它必须使用启用 JDBC 技术的驱动程序(“JDBC 驱动程序”)来持续维持它与数据源的连接。此外,JdbcRowSet
对象提供完全可更新和可滚动的表格数据结构,这在 JDBC 3.0 规范中定义。CachedRowSet
TM> - CachedRowSet 对象是一个 JavaBeansTM 组件,是可滚动的、可更新的、可序列化的,并且通常是与其数据源断开连接的。CachedRowSet 对象通常包含取自结果集的多个行,但是也可包含任何取自表格式文件(如电子表格)的行。CachedRowSet 实现必须使用 SyncFactory 管理和获得可插入的SyncProvider
对象,以便在非连接RowSet
对象和原始数据源之间提供同步。通常SyncProvider
实现依靠 JDBC 驱动程序来连接特定数据源。javax.sql.rowset.spi
包规范中讨论了关于此机制的更多详细信息。WebRowSet
-WebRowSet
对象是 CachedRowSet 的扩展,可以用合适的 XML 格式读取和写入RowSet
对象。此类调用XmlReader
对象(RowSetReader
接口的扩展)来读取 XML 格式的 rowset。调用XmlWriter
对象(RowSetWriter
接口的扩展)来写入 XML 格式的 rowset。SyncFactory
以SyncProvider
实现的形式提供WebRowSet
对象所需的 reader 和 writer。为了确保使用合适的 XML,在http://java.sun.com/xml/ns/jdbc/webrowset.xsd
中定义并发布了标准的通用 XML 模式。FilteredRowSet
- FilteredRowSet 对象以编程和可扩展的方式提供过滤功能。有很多实例在 RowSetobject
需要在其内容中提供过滤时无需放弃非连接环境,从而节省了必须创建到数据源的连接所带来的开销。从提供重量级的全部 SQL 查询能力,到可移植的组件,再到更轻量级的方法,这一需求的解决方案各有不同。FilteredRowSet
对象使用Predicate
接口的实现,该接口可以在运行时定义一个过滤器。接着,FilteredRowSet
对象的任务是强行为入站 (inbound) 和出站 (outbound) 读写操作设置过滤器。也就是说,可以将所有过滤器认为是双向的。未定义任何标准过滤器;但是指定了足够的机制以允许实现任何所需的过滤器。JoinRowSet
- JoinRowSet 接口描述了一种机制,根据这种机制可在两个或多个标准RowSet
实现之间建立关系。可将任意数目的 RowSet 对象添加到 JoinRowSet 对象中,只要能够以 SQL JOIN 类似的方式将这些 RowSet 对象关联起来。根据定义,SQL JOIN 语句用于根据公共的属性将两个(或多个)关系数据库表中包含的数据组合起来。通过建立然后实施列匹配,JoinRowSet 对象可在 RowSet 实例之间建立关系,而无需触动原始数据源。
3.0 实现者指南
JDBCRowSet
实现的兼容实现必须遵循此规范中描述的声明。为了与 Java Community Process 的条款保持一致,可以获得一个兼容性测试工具包(Test Compatibility Kit,TCK)的许可,以确保与规范保持兼容性。以下各段概述了一些实现标准 JDBC RowSet
定义的入门知识。实现者还应参考 javax.sql.rowset.spi 包中的实现者指南,以获得有关 SyncProvider
实现的指南。
- 3.1
BaseRowSet
类的职责兼容的 JDBC
RowSet
实现必须实现此包中指定的一个或多个标准接口,并且可以扩展BaseRowSet
抽象类。例如,CachedRowSet
实现必须实现CachedRowSet
接口并扩展BaseRowSet
抽象类。BaseRowSet
类提供用于构建所有RowSet
实现的标准架构,无论是存在于连接环境还是非连接环境中的RowSet
对象。BaseRowSet 抽象类为所有 RowSet 实现提供其基本功能,包括与 JavaBeans 组件要求完全兼容的属性操纵和事件通知。例如,参考实现中提供的所有实现(包含在 com.sun.rowset 包中)都使用 BaseRowSet 作为其实现的基础。下表展示了
BaseRowSet
抽象类提供的功能。功能 详细信息 属性 提供标准的 JavaBeans 属性操纵机制,允许应用程序获得和设置 RowSet
的命令和属性值。有关标准RowSet
属性的更多信息,请参阅 javax.sql.RowSet 接口的文档(JDBC 3.0 规范中提供)。事件通知 向已注册事件侦听器提供标准的 JavaBeans 事件通知。有关如何注册和处理由兼容实现所生成的标准 RowSet 事件的更多信息,请参阅 javax.sql.RowSetEvent 接口的文档(JDBC 3.0 规范中提供)。 用于 RowSet 对象命令的 Setter 为设置 RowSet 命令参数提供完整的设置方法集。 流 除了为流类型标记提供常量集外,还为流实例的存储提供了各种字段。 - 3.2 连接 RowSet 需求
JdbcRowSet
描述一种必须始终连接到原始数据源的RowSet
对象。JdbcRowSet
的实现应该确保此连接是由 JDBC 驱动程序唯一提供的。此外,作为JdbcRowSet
接口的实现并因此在连接环境中运行的RowSet
对象不使用SyncFactory
来获取RowSetReader
对象或RowSetWriter
对象。由于存在可更新和可滚动的底层ResultSet
实现,所以它们可以安全地依靠 JDBC 驱动程序来满足其需求。 - 3.3 非连接 RowSet 需求
非连接
RowSet
对象(如CachedRowSet
对象)应该将连接管理委托给SyncFactory
所提供的SyncProvider
对象。要确保完全的非连接语义,所有非连接RowSet
对象必须确保已关闭填充RowSet
对象时所建立的与数据源的原始连接,以便垃圾回收器能够恢复和释放资源。SyncProvider
对象确保可维护关键的 JDBC 属性,从而在需要进行同步时可重新建立到数据源的连接。因此,非连接RowSet
对象应该确保在Connection
对象上没有保留任何其他引用。 - 3.4 RowSetMetaDataImpl 的职责
RowsetMetaDataImpl
类是一个提供 RowSetMetaData 接口实现的实用工具类,它同时为连接和非连接RowSet
对象的元数据提供标准的设置方法实现。所有实现都可随意使用此标准实现,但是并不要求必须如此。 - 3.5 RowSetWarning 类
RowSetWarning
类提供了可在RowSet
实现上设置的警告。与 SQLWarning 对象类似,RowSetWarning
对象正常链接到其方法会导致抛出警告的那些对象。所有RowSet
实现应该确保如果生成了警告,则会发生此链接操作,还要确保通过JdbcRowSet
接口或CachedRowSet
接口中定义的getRowSetWarnings
方法可以获得这些警告。使用某个getRowSetWarnings
方法检索警告后,可在RowSetWarning
上调用其方法getNextWarning
来检索所有可能链接到它的警告。如果返回了某个警告,则可以在其上调用getNextWarning
并一直调用下去,直到再没有其他警告为止。 - 3.6 Joinable 接口
Joinable
接口同时为连接和非连接RowSet
对象提供要在 SQLJOIN
操作中添加到JoinRowSet
对象的功能。已经实现了Joinable
接口的RowSet
对象可以设置匹配列、检索匹配列或取消设置匹配列。然后JoinRowSet
对象可以使用RowSet
对象的匹配列作为添加RowSet
对象的基础。
4.0 相关规范
5.0 相关文档
所有类
|
|||||||||