CachedRowSet:它仍可用于保存ResultSet数据吗?

Ste*_*eve 7 java resultset cachedrowset

我想编写一个java函数,它接受一个SQL查询并返回一个ResultSet以便在别处进行处理.一旦连接关闭,ResultSet就会死机,因此无法完成此操作.

谷歌搜索我发现了一篇非常古老的(2004)OReilly文章,看起来像是治愈了:CachedRowSet.您只需放入ResultSet,CachedRowSet保存数据,让您关闭连接并使用返回的CachedRowSet在其他地方播放数据.

本文引用了Sun的CachedRowSet实现,似乎无处可寻.

现代javadocs(适用于Java 1.5及更高版本)似乎具有相同名称的"CachedRowSet",它不仅仅是ResultSet数据的持有者."CachedRowSet"似乎通过获取连接和其他所有内容来完成整个数据库处理.

那个"CachedRowSet"和旧文章中谈到的一样吗?

我想要一些简单的东西,比如旧文章.在连接关闭后将ResultSet放入进行处理的东西.

有这样的动物吗?

谢谢

Tom*_*son 5

CachedRowSet是标准的Java接口。Sun编写了一个参考实现,Sun / Oracle JDK包含它。如果您使用的是其他JDK,则该实现或其他实现可能可用,也可能不可用。

如果您已有一个ResultSet,则可以CachedRowSet使用populate方法填充它。

如果你是有远见的,足以使用Java 7的,那么你就可以得到CachedRowSet一个可移植的方式例如,使用一个RowSetFactory,它有一个createCachedRowSet方法。您可以RowSetFactoryRowSetProvider(当然!)获得a 。


MeB*_*Guy -1

javax.sql.rowset.CachedRowSet只是一个接口。有 Sun/Oracle 专有的实现,但它不受支持,因此使用有风险。

如今大多数代码都遵循“转换为 pojos”模型。