Package javax.sql.rowset
RowSet
实现的标准接口和基类。
该包包含标准RowSet
实现实现或扩展的接口和类。
目录
- 1.0 Package Specification
- 2.0 Standard RowSet Definitions
- 3.0 Implementer's Guide
- 4.0 Related Specifications
- 5.0 Related Documentation
1.0 Package Specification
该包指定了五个标准的JDBCRowSet
接口。
所有这五个都扩展了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
- AFilteredRowSet
对象以编程和可扩展的方式提供过滤功能。 当许多情况下,RowSet
object
需要在其内容中提供过滤,而不牺牲断开连接的环境,从而节省了创建到数据源的连接的费用。 这种需求的解决方案从提供重量级的全尺寸SQL查询能力到便携式组件到更轻量级的方法。FilteredRowSet
对象消耗了Predicate
接口的实现, 可以在运行时定义一个过滤器。 反过来,一个FilteredRowSet
对象的任务是强制执行入站和出站读写操作的设置过滤器。 也就是说,所有的滤波器都可以被认为是双向的。 没有定义标准过滤器; 然而,指定足够的力学来允许实现任何所需的过滤器。 -
JoinRowSet
-JoinRowSet
接口描述了可以在两个或多个标准RowSet
实现之间建立关系的机制。 任何数量的RowSet
对象都可以添加到一个JoinRowSet
对象中,只要RowSet
对象可以与SQLJOIN
相似。 根据定义,SQLJOIN
语句用于根据共同属性组合包含在两个( 或多个 )关系数据库表中的数据。 通过建立并执行列匹配,JoinRowSet
对象在RowSet
实例之间建立关系,而无需触摸始发数据源。
3.0 Implementer's Guide
JDBCRowSet
兼容实现实现必须遵循本规范中描述的断言。
根据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 thejavax.sql.RowSet
interface (available in the JDBC 3.0 specification) for more details on the standardRowSet
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
对象提供了能够在SQLJOIN
操作中添加到JoinRowSet
对象的功能。 已实现Joinable
接口的RowSet
对象可以设置匹配列,检索匹配列或取消设置匹配列。 一个JoinRowSet
对象可以使用RowSet
对象的匹配列作为添加RowSet
对象的依据。 - 3.8 RowSetFactory接口
必须提供
RowSetFactory
实现。
4.0 Related Specifications
5.0 Related Documentation
-
接口摘要 接口 描述 CachedRowSet CachedRowSet
所有标准实现必须实现的接口。FilteredRowSet FilteredRowSet
所有标准实现必须实现的标准接口。JdbcRowSet JdbcRowSet
所有标准实现必须实现的标准接口。Joinable 1.0背景JoinRowSet JoinRowSet
接口提供了一种机制,用于将来自不同RowSet
对象的相关数据组合到一个JoinRowSet
对象中,该对象表示SQLJOIN
。Predicate 为所有FilteredRowSet
对象提供框架来描述其过滤器的标准接口。RowSetFactory 一个定义工厂实现的接口,用于获取不同类型的RowSet
实现。WebRowSet WebRowSet
所有实现必须实现的标准接口。 -
类摘要 Class 描述 BaseRowSet 一个抽象类,提供一个RowSet
对象及其基本功能。RowSetMetaDataImpl 提供有关设置和获取有关RowSet
对象列的元数据信息的方法的实现。RowSetProvider 工厂API,使应用程序能够获得RowSetFactory
实现,可将用于产生不同类型的RowSet
实现。 -
异常摘要 异常 描述 RowSetWarning An extension ofSQLException
that provides information about database warnings set onRowSet
objects.