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接口。
随着该技术的成熟, RowSet
会出现更专业的JDBC RowSet
类型的其他定义。
应使用与本规范中使用的方式类似的继承将未来定义指定为子接口。
注意:此包中提供的接口定义构成了所有兼容JDBC RowSet
实现的基础。 打算提供自己的兼容性RowSet
实现的供应商和更高级的开发人员应特别注意规范接口中详述的断言。
2.0 Standard RowSet Definitions
-
JdbcRowSet
-ResultSet
对象周围的包装器,可以将结果集用作JavaBeansResultSet
组件。 因此,JdbcRowSet
对象可以是任何工具可用于组装应用程序作为基于组件的体系结构的一部分的Bean。JdbcRowSet
对象是已连接的对象RowSet
,即必须使用支持JDBC技术的驱动程序(“JDBC驱动程序”)持续维护与其数据源的连接。 此外,JdbcRowSet
对象提供JDBC 3.0规范中定义的完全可更新和可滚动的表格数据结构。 -
CachedRowSet
™ -CachedRowSet
对象是JavaBeansCachedRowSet
组件,它是可滚动,可更新,可序列化的,并且通常与其数据源断开连接。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
类似的方式。 根据定义,SQLJOIN
语句用于根据公共属性组合两个( 或多个 )关系数据库表中包含的数据。 通过建立并执行列匹配,JoinRowSet
对象可在RowSet
实例之间建立关系,而无需触摸原始数据源。
3.0 Implementer's Guide
JDBCRowSet
实现的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 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
可以在其上调用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
所有实现必须实现的标准接口。 -
类摘要 类 描述 BaseRowSet 提供RowSet
对象及其基本功能的抽象类。RowSetMetaDataImpl 提供设置和获取有关RowSet
对象列的元数据信息的方法的实现。RowSetProvider 工厂API,使应用程序能够获得RowSetFactory
实现,可将用于产生不同类型的RowSet
实现。 -
异常摘要 异常 描述 RowSetWarning An extension ofSQLException
that provides information about database warnings set onRowSet
objects.