我有一张表,有大约500万条记录.我想从这个表中读取所有记录并对它们进行一些处理.
现在我想分批查询这些记录,一次写1000个,处理它们并获取下一个1000条记录,依此类推.
但是,JDBCTemplate.query方法仅返回包含表中所有记录的List.显然我内存中不能有500万条记录.
有没有办法使用Spring JDBC解决我的问题?如果有帮助,底层数据库将成为DB2.
解决方法:
阅读javadoc of JdbcTemplate.还有很多其他方法,也称为query(),它们不返回列表,并将RowCallbackHandler或ResultSetExtractor作为参数.使用这些.
要设置结果集一次提取的行数,请覆盖applyStatementSettings()
并调用Statement.setFetchSize()