MyBatisPlusMapper中的SQL写in带入变量的写法

2022-11-12 457点热度 0人点赞 0条评论

如题,在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里面的内容

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论