2016-05-12 92 views
0

我确实有一个大的MySQL数据库表(超过100万条记录)。我需要读取所有数据并使用java语言对它们进行一些处理。Spring JDBCTemplate ResultSetExtractor和Spring Batch ItemReader之间的区别

我想确保java进程不应该占用内存中的整个结果集来消耗更多内存。

注视基于指针的实现,我发现了一些选项,

  1. 使用Spring的JdbcTemplate覆盖ResultSetExtractor类或RowCallbackHandler和阅读顺序排。
  2. 使用Spring批处理JDBCCursorItemReader/JDBCPagingItemReader的其他选项。

有人可以解释这两个选项之间有什么区别吗?

+1

标记批处理文件用于批处理编程,其中涉及创建执行cmd命令的批处理文件。在询问Spring批处理或对一批文件的操作时,不应该使用它。有关更多信息,请参见[this](http://stackoverflow.com/tags/batch-file/info) –

+0

从名称本身可以明显看出,spring批处理用于定期或计划运行的某些批处理任务,其中'JDBCTempllate'抽象所有JDBC相关的复杂性,如打开连接,创建语句,读取结果集,并最终关闭所有这些复杂性,同时处理已检查的'SQLException'。现在它取决于你想如何以及在哪里使用它? – Braj

+0

@ DennisvanGils,现在更正。 – Prabu

回答

相关问题