前端传入k-v形式 "disCode" : “aa,bb,cc,dd”
disCode参数为:“aa,bb,cc,dd”, 需要把disCode分割出来,并进行遍历
错误写法:
这种写法会导致item取值为一条“aa,bb,cc,dd”没有切割,从而使得一条数据都查不出来
<select id="checkDisName" resultMap="BaseResultMap">
select * from mc_dict_disease where id in (
<if test="discode != null and disCode != ' '">
<foreach collection="disCode" item="item" index="index" separator=",">
#{item}
</foreach>
</if>
)
</select>
正确写法:
在collection属性中可以直接对字段调用.split(',')方法进行切割
<select id="checkDisName" resultMap="BaseResultMap">
select * from mc_dict_disease where id in (
<if test="discode != null and disCode != ' '">
<foreach collection="disCode.split(',')" item="item" index="index" separator=",">
#{item}
</foreach>
</if>
)
</select>
如需了解<foreach >中各参数的含义点击以下链接
https://blog.csdn.net/qq_42320804/article/details/112503933
本文借鉴于
https://blog.csdn.net/siyi1219/article/details/80900415