我使用iBatis作爲Java中的ORM框架。 我有一個select語句如何爲iBatis select語句設置fetchSize
<select id="getList" resultMap="correctMap">
SELECT *
FROM SOME_TABLE
</select>
而且我用的queryForList方法:
List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");
但它檢索數據的一個很大的量和這個查詢的性能是相當緩慢的。
我對這個問題的假設是iBatis具有默認的讀取大小(例如在JDBS中是10),所以這就是爲什麼它太慢了。所以我想設置更大的抓取大小(例如1000)。我怎麼能這樣做?
還是我看錯了方向?
注意:我需要所有數據以便設置最大結果queryForList
方法對我來說不是一個合適的解決方案。
List queryForList(String id,
Object parameterObject,
int skip,
int max)
是否有可能將獲取大小設置爲全局配置而不是在每個查詢配置? – nkukhar 2012-01-19 16:32:04
沒有辦法,我知道。你可以實現Plugin攔截器(MyBatis 3用戶手冊第17頁),它可以在所有通過它的select查詢中設置這個屬性。這可能不適用於您的版本。 – 2012-01-20 12:44:52
我可以動態設置fetchSize值嗎? – 2013-03-12 03:30:38