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放入进行处理的东西.
有这样的动物吗?
谢谢
CachedRowSet是标准的Java接口。Sun编写了一个参考实现,Sun / Oracle JDK包含它。如果您使用的是其他JDK,则该实现或其他实现可能可用,也可能不可用。
如果您已有一个ResultSet,则可以CachedRowSet使用populate方法填充它。
如果你是有远见的,足以使用Java 7的,那么你就可以得到CachedRowSet一个可移植的方式例如,使用一个RowSetFactory,它有一个createCachedRowSet方法。您可以RowSetFactory从RowSetProvider(当然!)获得a 。
MeB*_*Guy -1
javax.sql.rowset.CachedRowSet只是一个接口。有 Sun/Oracle 专有的实现,但它不受支持,因此使用有风险。
如今大多数代码都遵循“转换为 pojos”模型。