【发布时间】:2021-02-20 15:33:56
【问题描述】:
我正在使用spring java。
我需要从数据库查询中返回 Stream 的对象(我使用 ObjectMapper 将它们映射到 JSON)。
查询结果可能非常大(超过 500k 个对象),所以我不想将它们存储在内存中。
我已经用JpaRepository 完成了。
我想知道如何使用JdbcTemplate 完成它,这样做是否有优势?
即...我们能否使用JdbcTemplate 甚至其他库来优化吞吐量和内存使用情况。
我的最终目标是找到运行查询并将所有对象打印到内存/时间/处理方面的输出流的最佳方式。
【问题讨论】:
-
升级到 Spring 5.3 并使用新添加的
queryForStream方法。或者如果您打算写信给OutputStream,请使用RowCallbackHandler。