+ -
当前位置:首页 → 问答吧 → ibatis中iterate的用法有个数限制吗?

ibatis中iterate的用法有个数限制吗?

时间:2011-12-12

来源:互联网

ibatis中iterate的用法有个数限制吗?

<select id="SelectSum" parameterClass="hashtable">
<![CDATA[
select distinct
sum(GRADUATE_PLAN) GRADUATE_PLAN,
sum(GRADUATE_POST) GRADUATE_POST,
sum(GRADUATE_COOPERATE) GRADUATE_COOPERATE,
sum(GRADUATE_UNIVERSITY) GRADUATE_UNIVERSITY,
sum(GRADUATE_UNIVERSITY_JCE) GRADUATE_UNIVERSITY_JCE,
sum(GRADUATE_UNIVERSITY_UC) GRADUATE_UNIVERSITY_UC,
sum(GRADUATE_UNIVERSITY_MASTER) GRADUATE_UNIVERSITY_MASTER,
sum(GRADUATE_UNIVERSITY_DR) GRADUATE_UNIVERSITY_DR,
sum(GRADUATE_MEET) GRADUATE_MEET
from REPORT_POST
]]>
<dynamic prepend="WHERE">
<isNotNull prepend="AND" property="REPORT_STATE">
<![CDATA[ REPORT_STATE = #REPORT_STATE# ]]>
</isNotNull>
<isNotNull prepend="AND" property="STATE">
<![CDATA[ STATE = #STATE# ]]>
</isNotNull>
<isNotNull prepend="AND" property="TASK_IDList">
TASK_ID IN
<iterate open="(" close=")" conjunction="," property="TASK_IDList">
#TASK_IDList[]#
</iterate>
</isNotNull>
<isNotNull prepend="AND" property="ENTERPRISE_IDList">
ENTERPRISE_ID IN
<iterate open="(" close=")" conjunction="," property="ENTERPRISE_IDList">
#ENTERPRISE_IDList[]#
</iterate>
</isNotNull>
</dynamic>
</select>

这个里面的ENTERPRISE_IDList数组长度如果有几百个甚至几千个,
这条SQL还能执行吗?
会报错吗?

作者: huangama2011   发布时间: 2011-12-12

<iterate 不要写在<![CDATA[ ]]> 里

数组长度太长,你可以取not in 这样集合就少了。

应该是可以有多个iterate 的

作者: Sandy945   发布时间: 2011-12-13