2017-11-18 207 views
1

我正在處理一個問題,該問題涉及我編寫查詢以從數據庫中獲取數千條記錄。我將要使用的查詢將在WHERE條件中包含2個IN子句。爲NamedParameterJdbctemplate提取大小?

根據我的知識,可能會受到限制,請感覺糾正我,因爲這種用例我不能使用jdbctemplate。我必須移動到NamedParameterJdbcTemplate,因爲NamedParameterJdbcTemplate使我們可以靈活地使用IN子句。

現在我的問題,我正在尋找答案如下。

問。> NamedParameterJdbcTemplate沒有setFetchSize方法。有沒有辦法爲NamedParameterJdbcTemplate設置獲取大小?

Q>有沒有人有關於NamedParameterJdbcTemplate的默認獲取大小的任何想法?對於JdbcTemplate,它被設置爲10.我知道。那麼NamedParameterJdbcTemplate怎麼樣?

Q>即使我使用NamedParameterJdbcTemplate,我的問題也不會得到解決,因爲如果我們假設NamedParameterJdbcTemplate的獲取大小也是10,那麼獲取數千條記錄仍然需要大量的應用程序時間。

任何人都可以提出一個解決方案或引導我在正確的方向嗎?

回答

3

對於所有JDBC工作,NamedParameterJdbcTemplate委託給普通的JdbcTemplate。所以,你可以創建你的NamedParameterJdbcTemplate在構造函數中傳入定製的JdbcTemplate。如果您在JdbcTemplate上自定義fetchSize,那麼NamedParameterJdbcTemplate也會使用。參見 - https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.html#NamedParameterJdbcTemplate-org.springframework.jdbc.core.JdbcOperations-

相關問題