<select id="count" resultType="java.lang.Integer">
SELECT COUNT(1) FROM wyy_role
<where>
<if test="roleIds != null">
AND role_id IN
(
<foreach collection="roleIds" separator="," item="roleId">
#{roleId}
</foreach>
)
</if>
</where>
</select>
<select id="count" resultType="java.lang.Integer">
SELECT COUNT(1) FROM wyy_role
<where>
<if test="roleIds != null">
AND role_id IN
<foreach collection="roleIds" separator="," item="roleId" open="(" close=")">
#{roleId}
</foreach>
</if>
</where>
</select>
以上两种都可以,区别是上面有前后括号,下面用open和close取代了。
foreach的几个属性:
collection:表示集合。
separator:表示隔离符号。
item:表示集合的元素。
open:开始的标志。
close:结束的标志。
index:表示集合的索引。