背景:一个文章有多个tag,tag为搜索条件,只有有任何一个tag的文章都可以搜索出来
目录
一、mybatis使用foreach结合or
1:mybatis可以将使用foreach进行遍历
2:注意最外面的一层是一个and,最后一次循环不要or
3:or为或者条件,进行拼接
4:最后的or条件需要()拼接,外层and,否则会导致上一级的and条件失效
二:参数注意
1:转入参数需自己转为list,进行便利
2:需在foreach标签中使用index下标判定是否为最后一次循环
3:自己的表中存放有标签ids,逗号分割
三:相关代码
<if test="tagIdList != null and tagIdList.size() > 0">
and
<foreach item="tagId" index="index" collection="tagIdList" open="(" separator="" close=")">
tag_ids like CONCAT( '%',#{tagId},'%')
<if test="index!=(tagIdList.size-1)">or</if>
</foreach>
</if>