如题,在MyBatisPlusMapper种写SQL语句,需要用到in语法,in里面的内容是一个list通过变量传入的,mapper里面需要组装出sql语句来,可以使用foreach来实现,示例代码如下:
<select id="listLabIdsByServiceCatIds" resultType="java.lang.Long"> select * from t_test where 1=1 <if test="serviceCatIds != null and serviceCatIds.size() != 0"> and t.service_cat_id in <foreach item="item" index="index" collection="serviceCatIds" open="(" separator="," close=")"> #{item} </foreach> </if> </select>
对应Java的代码:
List<Long> listLabIdsByServiceCatIds(@Param("serviceCatIds") List<Long> serviceCatIds);
如上xml种的SQL代码,使用foreach循环serviceCatIds这个list,组装出in里面的内容
文章评论