模块  java.sql.rowset

Package javax.sql.rowset

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

目录

1.0 Package Specification

该软件包指定了五个标准JDBC RowSet接口。 所有这五个扩展了JDBC 3.0规范中描述的RowSet接口。 随着该技术的成熟, RowSet会出现更专业的JDBC RowSet类型的其他定义。 使用与本规范中使用的方式类似的继承将未来定义指定为子接口。

注意:此包中提供的接口定义构成了所有兼容JDBC RowSet实现的基础。 打算提供自己的兼容性RowSet实现的供应商和更高级的开发人员应特别注意规范接口中详述的断言。

2.0 Standard RowSet Definitions

  • JdbcRowSet - ResultSet对象周围的包装器,可以将结果集用作JavaBeans ResultSet组件。 因此, JdbcRowSet对象可以是任何工具可用于组装应用程序作为基于组件的体系结构的一部分的Bean。 JdbcRowSet对象是已连接的对象RowSet ,即必须使用支持JDBC技术的驱动程序(“JDBC驱动程序”)持续维护与其数据源的连接。 此外, JdbcRowSet对象提供JDBC 3.0规范中定义的完全可更新和可滚动的表格数据结构。
  • CachedRowSet - CachedRowSet对象是JavaBeans CachedRowSet组件,它是可滚动,可更新,可序列化的,并且通常与其数据源断开连接。 CachedRowSet对象通常包含结果集中的行,但它也可以包含具有表格格式的任何文件中的行,例如电子表格。 CachedRowSet实现必须使用SyncFactory来管理和获取可插入的SyncProvider对象,以在断开连接的RowSet对象和原始数据源之间提供同步。 通常, SyncProvider实现依赖于JDBC驱动程序来获取与特定数据源的连接。 有关此机制的更多详细信息,请参阅javax.sql.rowset.spi程序包规范。
  • WebRowSet -甲WebRowSet对象是一个扩展CachedRowSet ,可以读取和写入一RowSet在一个良好的XML格式的对象。 此类调用XmlReader对象( RowSetReader接口的扩展)来读取XML格式的行集。 它调用XmlWriter对象( RowSetWriter接口的扩展)来编写XML格式的行集。 通过所需要的读取器和写入器WebRowSet目的是通过提供SyncFactory的形式SyncProvider实现。 为了确保良好形成的XML使用,定义并发布标准通用XML模式,发布于http://java.sun.com/xml/ns/jdbc/webrowset.xsd
  • FilteredRowSet - FilteredRowSet对象以编程和可扩展的方式提供过滤功能。 在许多情况下, RowSet object需要在其内容中提供过滤而不牺牲断开的环境,从而节省了必须创建与数据源的连接的费用。 这种需求的解决方案包括提供重量级的全面SQL查询功能,便携式组件,以及更轻量级的方法。 FilteredRowSet对象使用Predicate接口的实现,该接口可以在运行时定义过滤器。 反过来, FilteredRowSet对象的任务是对入站和出站读写操作强制执行set过滤器。 也就是说,所有滤波器都可以被认为是双向的。 没有定义标准过滤器; 但是,指定了足够的机制以允许实现任何所需的过滤器。
  • JoinRowSet - JoinRowSet接口描述了一种机制,通过该机制可以在两个或更多标准RowSet实现之间建立关系。 任何数量的RowSet到可以添加对象JoinRowSet对象提供的RowSet对象可以在SQL相关JOIN类似的方式。 根据定义,SQL JOIN语句用于根据公共属性组合两个( 或多个 )关系数据库表中包含的数据。 通过建立并执行列匹配, JoinRowSet对象可在RowSet实例之间建立关系,而无需触摸原始数据源。

3.0 Implementer's Guide

JDBC RowSet实现的RowSet实现必须遵循本规范中描述的断言。 根据Java Community Process的条款,可以许可测试兼容性套件(TCK)以确保与规范兼容。 以下段落概述了标准JDBC RowSet定义的实现者的许多起点。 实施者还应参阅javax.sql.rowset.spi包中的实施者 指南 ,以获取有关SyncProvider实施的指南。
  • 3.1构造函数

    所有RowSet实现都必须提供无参数构造函数。

  • 3.2 BaseRowSet类的作用

    兼容的JDBC RowSet实现必须实现此包中指定的一个或多个标准接口,并且可以扩展BaseRowSet抽象类。 例如, CachedRowSet实现必须实现CachedRowSet接口并扩展BaseRowSet抽象类。 无论RowSet对象是否存在于连接或断开连接的环境中, BaseRowSet类都提供了应在其上构建所有RowSet实现的标准体系结构。 BaseRowSet抽象类提供任何RowSet实现及其基本功能,包括完全符合JavaBeans组件要求的属性操作和事件通知。 作为示例,参考实现中提供的所有实现(包含在com.sun.rowset包中)使用BaseRowSet类作为其实现的基础。

    下表说明了BaseRowSet抽象类提供的功能。

    Features in BaseRowSet
    Feature Details
    Properties Provides standard JavaBeans property manipulation mechanisms to allow applications to get and set RowSet command and property values. Refer to the documentation of the javax.sql.RowSet interface (available in the JDBC 3.0 specification) for more details on the standard RowSet properties.
    Event notification Provides standard JavaBeans event notifications to registered event listeners. Refer to the documentation of javax.sql.RowSetEvent interface (available in the JDBC 3.0 specification) for more details on how to register and handle standard RowSet events generated by compliant implementations.
    Setters for a RowSet object's command Provides a complete set of setter methods for setting RowSet command parameters.
    Streams Provides fields for storing of stream instances in addition to providing a set of constants for stream type designation.
  • 3.3连接的RowSet要求

    JdbcRowSet描述了一个必须始终连接到原始数据源的RowSet对象。 JdbcRowSet实现应确保此连接仅由JDBC驱动程序提供。 此外, RowSet对象属于的实现JdbcRowSet接口和在连接的环境中运行,因此不使用SyncFactory以获得RowSetReader对象或RowSetWriter对象。 他们可以安全地依赖JDBC驱动程序来提供他们的需求,因为它存在底层可更新和可滚动的实现ResultSet

  • 3.4断开的RowSet要求

    断开连接的RowSet对象,例如CachedRowSet对象, 应该委托连接管理到SyncProvider由所提供的对象SyncFactory 为了确保完全断开的语义,所有断开RowSet对象必须确保对数据源所做的初始连接来填充RowSet对象被关闭,以允许垃圾回收器回收并释放资源。 SyncProvider对象确保维护关键JDBC属性,以便在需要同步时重新建立与数据源的连接。 断开的RowSet因此对象应确保没有多余的引用保持在Connection对象。

  • 3.5 RowSetMetaDataImpl的作用

    RowsetMetaDataImpl类是一个实用程序类,它提供RowSetMetaData接口的实现,为连接和断开连接的RowSet对象提供元数据的标准setter方法实现。 所有实现都可以免费使用此标准实现,但不是必须这样做。

  • 3.6 RowSetWarning类

    RowSetWarning类提供可在RowSet实现上设置的警告。 SQLWarning对象类似, RowSetWarning对象以静默方式链接到其方法导致警告被抛出的对象。 所有RowSet实现确保在生成警告时发生此链接,并确保通过JdbcRowSet接口或CachedRowSet接口中定义的getRowSetWarnings方法提供警告。 后警告已与的一个检索到getRowSetWarnings方法,该RowSetWarning方法getNextWarning可以调用它来检索可能会在它被链接的任何警告。 如果返回警告, getNextWarning可以在其上调用getNextWarning ,依此类推,直到没有警告为止。

  • 3.7可连接接口

    Joinable接口提供已连接和已断开连接的RowSet对象,并且可以在SQL JOIN操作中添加到JoinRowSet对象。 已实现Joinable接口的RowSet对象可以设置匹配列,检索匹配列或取消设置匹配列。 然后, JoinRowSet对象可以使用RowSet对象的匹配列作为添加RowSet对象的基础。

  • 3.8 RowSetFactory接口

    必须提供RowSetFactory实施。

4.0 Related Specifications

5.0 Related Documentation