在遍历数组参数拼接sql的时候,最后一个参数不需要某些关键字,所以需要判断是否为循环的最后
示意
<select id="count" parameterType="list" resultType="java.lang.Integer">
<if test="list!=null and list.size()>0">
<foreach item="item" collection="list" index="index">
SELECT
count(1)
FROM
t_user
WHERE
create_at >= #{item.startTime}
AND
create_at < #{item.endTime}
AND
<if test="index != (list.size() - 1)">
union all
</if>
</foreach>
</if>
</select>
其中的index是循环的下标,list.size() - 1 就是数组最后的下标的意思,亲测可行
本文介绍了一个使用MyBatis动态SQL的例子,通过遍历数组参数拼接SQL语句,实现了对时间范围内的记录计数查询。此方法在循环过程中判断是否为最后一个元素来决定是否添加特定的SQL关键字。
2361

被折叠的 条评论
为什么被折叠?



