我想编写一个Java函数,该函数接受SQL查询并返回ResultSet以便在其他地方进行处理。由于连接关闭后ResultSet已死,因此无法执行此操作。

我在Google上四处搜寻,发现了VERY OLD (2004) OReilly article,它看起来像治愈方法:CachedRowSet。您只需放入ResultSet,CachedRowSet就会保存数据,让您关闭连接并使用返回的CachedRowSet在其他位置播放数据。

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

现代的Javadocs(适用于Java 1.5及更高版本)似乎具有相同的名称“CachedRowSet”,而不仅仅是ResultSet数据的持有者。该“CachedRowSet”似乎从获取连接和其他所有内容开始进行整个数据库处理。

“CachedRowSet”与旧文章中所说的是一样的吗?

我想要一些简单的东西,就像在旧文章中一样。关闭连接后,可以将ResultSet放入其中进行处理。

有这样的动物吗?

谢谢

最佳答案

CachedRowSet是标准的Java接口(interface)。 Sun编写了一个引用实现,以及Sun/Oracle JDK contains it。如果您使用的是其他JDK,则该实现或其他实现可能可用,也可能不可用。

如果您已经有了ResultSet,则可以使用 CachedRowSet 方法从中填充一个populate

如果您具有使用Java 7的前瞻性思维,则可以使用具有 CachedRowSet 方法的 RowSetFactory 以可移植的方式获取createCachedRowSet实例。您可以从 RowSetFactory 中获得一个RowSetProvider(当然!)。

关于java - CachedRowSet:它仍然可以用来保存ResultSet数据吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10341785/

10-11 04:40