在select parameterType自定義型別巢狀迴圈List資料
阿新 • • 發佈:2019-01-23
因為要做內容統計資訊,就將要傳入的引數放在一個Bean中去了,有一個欄位為狀態值,型別為List型別,但一直執行不成功,
最後發現的問題是 <![CDATA[ ]]>
用這個符號將foreach包含在內了,所以將foreach的雙引號也給轉議了。
<![CDATA[ ]]>
只能在需要轉義的地方才使用,在邏輯處理位置是不能使用的。
table.xml程式碼如下
<select id="query" resultMap="BaseResultMapBySubscribe" parameterType="com.dao.tableDao">
<![CDATA[
select DATE_FORMAT(end_time,#{dateFromat}) as date, '0' as uncount, count(*) as count
from table
where 1 = 1 AND DATE_FORMAT(start_time,#{dateFromat})>=#{startDate} AND DATE_FORMAT(end_time,#{dateFromat}) <=#{endDate}
AND state IN
]]>
<foreach collection="subscribeStates" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
<![CDATA[
group by DATE_FORMAT(end_time,#{dateFromat})
UNION ALL
select DATE_FORMAT(end_time,#{dateFromat}) as date, count(*) as uncount, '0' as count
from table
where DATE_FORMAT(start_time,#{dateFromat})>=#{startDate} and DATE_FORMAT(end_time,#{dateFromat}) <=#{endDate}
AND state IN
]]>
<foreach collection="unSubscribeStates" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
<![CDATA[
group by DATE_FORMAT(end_time,#{dateFromat})
]]>
</select>