所有类


软件包 javax.sql.rowset

JDBC RowSet 实现的标准接口和基类。

请参见:
          描述

接口摘要
CachedRowSet所有标准 CachedRowSet 实现都必须实现的接口。
FilteredRowSet所有标准 FilteredRowSet 实现都必须实现的标准接口。
JdbcRowSet所有标准 JdbcRowSet 实现都必须实现的标准接口。
Joinable1.0 背景 Joinable 接口提供了用于获取和设置匹配列的各种方法,匹配列是形成通过将 RowSet 对象添加到 JoinRowSet 对象所形成的 SQL JOIN 的基础。
JoinRowSetJoinRowSet 接口提供了一种机制,用于将取自不同 RowSet 对象的相关数据组合到一个 JoinRowSet 对象中,该对象表示一个 SQL JOIN
Predicate为所有 FilteredRowSet 对象提供框架以描述其过滤器的标准接口。
WebRowSet所有 WebRowSet 的实现都必须实现的标准接口。
 

类摘要
BaseRowSet提供一个具有基本功能的 RowSet 对象的抽象类。
RowSetMetaDataImpl为设置和获取关于 RowSet 对象列的元数据信息的方法提供实现。
 

异常摘要
RowSetWarningSQLException 的一个扩展,提供关于在 RowSet 对象上设置的数据库警告的信息。
 

软件包 javax.sql.rowset 的描述

JDBC RowSet 实现的标准接口和基类。此包包含了标准 RowSet 实现可实现或扩展的各种接口和类。

目录

1.0 包规范

此包指定了 5 个标准的 JDBC RowSet 接口。所有这 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 规范中定义。

  • CachedRowSetTM> - 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。SyncFactorySyncProvider 实现的形式提供 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 实现者指南

JDBC RowSet 实现的兼容实现必须遵循此规范中描述的声明。为了与 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 对象提供要在 SQL JOIN 操作中添加到 JoinRowSet 对象的功能。已经实现了 Joinable 接口的 RowSet 对象可以设置匹配列、检索匹配列或取消设置匹配列。然后 JoinRowSet 对象可以使用 RowSet 对象的匹配列作为添加 RowSet 对象的基础。

4.0 相关规范

5.0 相关文档


所有类