在select parameterType自定义类型嵌套循环List数据

来源:互联网 发布:如何做一名网络写手 编辑:程序博客网 时间:2024/06/01 18:34

因为要做内容统计信息,就将要传入的参数放在一个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>
阅读全文
0 0