【发布时间】:2010-11-23 09:33:23
【问题描述】:
当使用各种 JDBC 模板方法之一时,我对如何迭代/滚动大型结果集(不适合内存)感到困惑。即使没有直接暴露 Iterable 接口,我至少希望 RowCallbackHandler 的实例被调用而查询正在执行而不是在它完成之后(或堆溢出)。
我确实看过this(尽管在精神上与堆栈溢出时的this post 相似,但对我没有任何改变)和春季论坛中的this 帖子。后者似乎表明回调处理程序确实应该在游标获取数据时被调用。然而,我的测试没有显示出这样的行为。
数据库是Oracle10g。我正在使用 11.1.0.7.0-Production 驱动程序和 Spring 2.5.6.SEC01。任何人都知道如何迭代结果集,最好同时保留 RowMapper 等的映射逻辑?
【问题讨论】: