Spring批处理JdbcCursorItemReader如何从数据库中读取数据?

时间:2018-03-14 17:28:21

标签: postgresql spring-batch

我正在使用Spring批处理,并使用postgreSQLJdbcCursorItemReader读取数据。我担心的是内部JdbcCursorItemReader如何读取数据库记录? 例如,如果数据库中有1000k记录,并且块大小为1000.那么在这种情况下JdbcCursorItemReader将尝试获取JVM中的所有1000k记录,然后开始执行1000大小的块,或者它将仅获取1000一次从数据库中记录(或以其他方式获取记录)。 还有setFetchSize的用途,以及它与提及块大小有什么不同? 我的要求是将数据从postgreSQL db流式传输到jvm。我需要哪些配置?

1 个答案:

答案 0 :(得分:0)

JdbcCursorItemReader的想法是将数据从RDBMS服务器流式传输到批处理作业。这可能需要一些基于您的设置的额外配置(我知道MySql需要某些参数......不是100%肯定Postgres)。但正确配置后的最终结果是数据会根据需要而不是一次性完成。