2013-11-04 19 views
2

您好我有一個查詢返回約600-700K行成一個結果集。一旦發生這種情況,我們使用BeanPropertyRowMapper來填充這些bean。這部分需要永遠。有沒有更快的方法來做到這一點。我也試過RowMapper認爲通過調用bean中的setter會更快,但是這會加快速度。如果不是,還有更好的方法嗎?java的填充咖啡豆的JdbcTemplate

+2

你真的需要同時存儲所有的600K +對象?您可能想要尋找更好的解決方案 –

+0

是的。我們需要從數據庫讀取並寫入文件。在這個時候,我們必須這樣做,因爲基本代碼是這樣做的 – Mohamed

+0

當你解析結果集時,你不能直接寫入文件嗎? –

回答

1

的BeanPropertyRowMapper是它的方便,而不是表現實際上是有用的。行映射器實際上在其心臟中使用BeanWrapper來映射行。它在性能和靈活性之間進行平常的折衷。

實現自己的RowMapper肯定會在這種情況下更快(只要你不使用BeanWrapper的映射行對象)。在我的老項目的一個這種改進是相當顯著(使用BeanWrapper的變種不到1小時由4小時89000項通過實現自己的自定義的RowMapper)