我正在处理非常大的数据集,数百万条记录。我想读取一批1000条记录来处理它们,然后提取下1000条记录,依此类推,直到所有记录都被处理为止。
我尝试过:
jdbcTemplate.query(sql, new RowCallbackHandler() {
public void processRow(ResultSet arg0) throws SQLException {
// ...
}
});
但是上述解决方案将按1进行处理。我正在寻找对象列表。
请帮助。
jdbcTemplate.setFetchSize(1000);
List<MyUser> users = jdbcTemplate.query("select * from table", new RowMapper<MyUser>() {
@Override
public MyUser mapRow(ResultSet rs, int rowNum) throws SQLException {
return new MyUser(rs.getString("name"));
}
});
您可能需要的可能是setFetchSize。如果您这样写,则每个人可以读取1,000个用户。