我想编写一个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/