问题描述
我在Java中使用iBatis作为ORM框架。
我有一个选择语句
I'm using iBatis as ORM framework in Java.I have a select statement
<select id="getList" resultMap="correctMap">
SELECT *
FROM SOME_TABLE
</select>
我正在使用queryForList方法:
And I'm using queryForList method:
List<MappedObject> list = getSqlMapClientTemplate().queryForList("getList");
但是它检索到大量数据并且此查询的性能非常慢。
But it retrieves a big amount of data and performance of this query is pretty slow.
我对这个问题的假设是iBatis有默认的提取大小(例如在JDBS中是10)所以这就是为什么它这么慢。所以我想设置更大的提取大小(例如1000)。我怎么能这样做?
My assumption about this issues that iBatis has default fetch size (e.g. like in JDBS is 10) so that is why it so slow. So I want to set bigger fetch size (1000 for example). How I can do so?
还是我看错了?
注意:我需要所有数据所以设置最大结果 queryForList
方法对我来说不合适。
NOTE: I need all data so set max results in queryForList
method is not a appropriate solution for me.
List queryForList(String id,
Object parameterObject,
int skip,
int max)
推荐答案
<select id="SELECT_TABLE" parameterType="String" fetchSize="500" resultType="hashmap">
SELECT * FROM TABLE WHERE NAME = #{value}
</select>
这篇关于如何为iBatis select语句设置fetchSize的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!