2016-05-12 93 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

回答

相關問題