批量选择记录 Spring JDBCTemplate

6
我有一个表格,里面大约有500万条记录。我想读取该表格中的所有记录并对其进行某些处理。现在我想分批查询这些记录,例如每次1000条,对它们进行处理,然后获取下一批1000条记录,以此类推。
然而,JDBCTemplate.query方法只返回包含表格中所有记录的List。显然,我不能将500万条记录存储在内存中。
使用Spring JDBC,是否有解决我的问题的方法?底层数据库将是DB2,如果这有帮助的话。
2个回答

3
尝试像这样做:
    jdbcTemplate.query(sql, new RowCallbackHandler() {
        public void processRow(ResultSet arg0) throws SQLException {
            // ...
        }
    });

这样您就可以逐一处理任意数量的记录。

如果我们在上面调用arg0.setString('col_name','value'),那么它会每次都调用数据库吗? - Jigar Shah

2

我们如何通过它来提高性能?仅在两天内处理了几十万条记录...我们如何加载数百万的数据? - user5268786

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接