Module  java.sql.rowset

Package javax.sql.rowset

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

目录

1.0 Package Specification

该包指定了五个标准的JDBC RowSet接口。 所有这五个都扩展了JDBC 3.0规范中描述的RowSet接口。 预计随着这项技术的成熟,将会出现更多专门的JDBC RowSet类型的额外定义。 未来的定义应该使用与本规范中使用的方式类似的继承来指定为子接口。

注意:此包中提供的接口定义构成了所有符合JDBC RowSet实现的基础。 要提供自己的兼容性RowSet实现的供应商和更多高级开发人员应特别注意规范界面中详细说明的断言。

2.0 Standard RowSet Definitions

  • JdbcRowSet - 围绕ResultSet对象的包装器,可以将结果集用作JavaBeans的组件。 因此, JdbcRowSet对象可以是任何工具可用于组合应用程序作为基于组件的体系结构的一个Bean。 一个JdbcRowSet对象是一个连接的RowSet对象,也就是说,它必须使用支持JDBC技术的驱动程序(“JDBC驱动程序”)不断地保持与数据源的连接。 此外,一个JdbcRowSet对象提供了JDBC 3.0规范中定义的完全可更新和可滚动的表格数据结构。
  • CachedRowSet - CachedRowSet对象是可滚动,可更新,可序列化的JavaBeans组件,并且通常与其数据源断开连接。 一个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 - A FilteredRowSet对象以编程和可扩展的方式提供过滤功能。 当许多情况下, RowSet object需要在其内容中提供过滤,而不牺牲断开连接的环境,从而节省了创建到数据源的连接的费用。 这种需求的解决方案从提供重量级的全尺寸SQL查询能力到便携式组件到更轻量级的方法。 FilteredRowSet对象消耗了Predicate接口的实现, 可以在运行时定义一个过滤器。 反过来,一个FilteredRowSet对象的任务是强制执行入站和出站读写操作的设置过滤器。 也就是说,所有的滤波器都可以被认为是双向的。 没有定义标准过滤器; 然而,指定足够的力学来允许实现任何所需的过滤器。
  • JoinRowSet - JoinRowSet接口描述了可以在两个或多个标准RowSet实现之间建立关系的机制。 任何数量的RowSet对象都可以添加到一个JoinRowSet对象中,只要RowSet对象可以与SQL JOIN相似。 根据定义,SQL JOIN语句用于根据共同属性组合包含在两个( 或多个 )关系数据库表中的数据。 通过建立并执行列匹配, JoinRowSet对象在RowSet实例之间建立关系,而无需触摸始发数据源。

3.0 Implementer's Guide

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

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

  • 3.2角色的BaseRowSet

    兼容的JDBC RowSet实现必须实现此包中指定的一个或多个标准接口, 并可扩展BaseRowSet抽象类。 例如, CachedRowSet实现必须实现CachedRowSet接口并扩展BaseRowSet抽象类。 BaseRowSet类提供了应构建所有RowSet实现的标准架构,而不管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 ,等等,直到没有更多的警告。

  • 3.7可加入界面

    Joinable接口为连接和断开连接的RowSet对象提供了能够在SQL JOIN操作中添加到JoinRowSet对象的功能。 已实现Joinable接口的RowSet对象可以设置匹配列,检索匹配列或取消设置匹配列。 一个JoinRowSet对象可以使用RowSet对象的匹配列作为添加RowSet对象的依据。

  • 3.8 RowSetFactory接口

    必须提供RowSetFactory实现。

4.0 Related Specifications

5.0 Related Documentation