批量选择记录 Spring JDBCTemplate

coo*_*eek 5 java db2 spring jdbc

我有一张桌子,里面有大约 500 万条记录。我想从这个表中读取所有记录并对它们进行一些处理。现在我想批量查询这些记录,一次说 1000 条,处理它们并获取接下来的 1000 条记录等等。

但是 JDBCTemplate.query 方法只返回包含表中所有记录的 List。显然我的内存中不能有 500 万条记录。

有没有办法使用 Spring JDBC 解决我的问题?如果有帮助,基础数据库将是 DB2。

JB *_*zet 2

阅读JdbcTemplate 的 javadoc。还有许多其他方法(也称为query())不返回列表,而是采用 aRowCallbackHandler或 aResultSetExtractor作为参数。使用这些。

要设置结果集一次获取的行数,请覆盖applyStatementSettings()并调用Statement.setFetchSize()