mybatis 如何切割字符串 查询多个值
前端传入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 >中各参数的含义点击以下链接
本文借鉴于
