我正在使用iBatis作为Java中的ORM框架。
我有一条选择声明

<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)

最佳答案

<select id="SELECT_TABLE" parameterType="String" fetchSize="500" resultType="hashmap">
    SELECT * FROM TABLE WHERE NAME = #{value}
</select>

09-11 19:12
查看更多