在使用mybatis的foreach遍历查询的时候,item起的名字不能跟后面的字段的参数名一样,否则会影响到查询的结果,代码如下。
<if test="courseIds != null and courseIds.size() > 0">
and a.course_id in
<foreach collection="courseIds" index="index" separator="," open="(" close=")" item="courseId">
#{courseId}
</foreach>
</if>
<if test="courseId != null and courseId != ''">
AND a.course_id = #{courseId}
</if>如果你courseId传的时候即使为空。打印sql的时候还是会有值。
使用mybatis的foreach的一个坑
最新推荐文章于 2023-03-22 17:26:02 发布