快速业务通道

教你使用Java中的RowSet - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

教你使用Java中的RowSet

时间:2011-10-21 Java学习室 终南

ResultSet是使用Jdbc编程的人入门和常用的操作数据库的类,自 JDK 1.4 开始,易于使用RowSet接 口被引入。RowSet 接口扩展了标准 java.sql.ResultSet 接口。RowSetMetaData 接口扩展了 java.sql.ResultSetMetaData 接口。因此,熟悉 JDBC API 的开发人员必须学习少数几个新 API 才能使 用 rowset。此外,与 JDBC ResultSet 对象配套使用的第三方软件工具也可以方便地用于 rowset。但是 在JDK 1.4中,只有一个RowSet接口,使得RowSet的使用范围打了折扣。不过 JDK 5.0 定义了5 个标准的 JDBC RowSet 接口,并且给出了相应的参考实现,因此可以很方便的使用RowSet接口所提供的功能。

RowSet 对象可以建立一个与数据源的连接并在其整个生命周期中维持该连接,在此情况下,该对象被 称为连接的 rowset。rowset 还可以建立一个与数据源的连接,从其获取数据,然后关闭它。这种 rowset 被称为非连接 rowset。非连接 rowset 可以在断开时更改其数据,然后将这些更改发送回原始数 据源,不过它必须重新建立连接才能完成此操作。 相比较 java.sql.ResultSet 而言,RowSet 的离线操 作能够有效的利用计算机越来越充足的内存,减轻数据库服务器的负担,由于数据操作都是在内存中进行 然后批量提交到数据源,灵活性和性能都有了很大的提高。RowSet 默认是一个可滚动,可更新,可序列 化的结果集,而且它作为 JavaBeans,可以方便地在网络间传输,用于两端的数据同步。

1、与ResultSet比较

(1)RowSet扩展了ResultSet接口,因此可以像使用ResultSet一样使用RowSet。

(2)RowSet扩展了ResultSet接口,因此功能比ResultSet更多、更丰富。

(3)默认情况下,所有 RowSet 对象都是可滚动的和可更新的。而ResultSet是只能向前滚动和只读 的。

(4)RowSet可以是非链接的,而ResultSet是连接的。因此利用CacheRowSet接口可以离线操作数据。

(5)RowSet接口添加了对 JavaBeans 组件模型的 JDBC API 支持。rowset 可用作可视化 Bean 开发 环境中的 JavaBeans 组件。

(6)RowSet采用了新的连接数据库的方法。

(7)CacheRowSet是可以序列化的。

(8)RowSet和ResultSet都代表一行行的数据、属性以及相关操作方法。

(9)自己认为,应该倾向于把RowSet看成是与数据库无关的东西,它只是一个代表一行行数据的对象 ,而ResultSet则是一个与数据库紧密联系的东西。

教你使用Java中的RowSet(2)

时间:2011-10-21 Java学习室 终南

2、JDK 5.0 的5个标准RowSet接口

在JDK 5.0中,5个标准RowSet接口包括 CachedRowSet,WebRowSet,FilteredRowSet,JoinRowSet 和 JdbcRowSet。相应的参考实现是Sun公司给出的,位于com.sun.rowset包下,分别为为CachedRowSetImpl ,WebRowSetImpl,FilteredRowSetImpl,JoinRowSetImpl 和 JdbcRowSetImpl。这5个标准接口中 JdbcRowSet是链接的rowset,而其他4个是非链接的rowset。

(1)CachedRowSet:最常用的一种 RowSet。其他三种 RowSet(WebRowSet,FilteredRowSet, JoinRowSet)都是直接或间接继承于它并进行了扩展。它提供了对数据库的离线操作,可以将数据读取到 内存中进行增删改查,再同步到数据源。CachedRowSet是可滚动的、可更新的、可序列化,可作为 JavaBeans 在网络间传输。支持事件监听,分页等特性。 CachedRowSet 对象通常包含取自结果集的多个 行,但是也可包含任何取自表格式文件(如电子表格)的行。

(2)WebRowSet:继承自 CachedRowSet,并可以将 WebRowSet 写到 XML 文件中,也可以用符合规范 的 XML 文件来填充 WebRowSet。

(3)FilteredRowSet:通过设置 Predicate(在 javax.sql.rowset 包中),提供数

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号