一.問(wèn)題描述
1.舉個(gè)栗子
入?yún)ⅲ簎serIdList=[75,76];id=null
<select id="selectUserId" resultType="java.lang.Long">
select
user_id
from
user_student_info
WHERE
deleted = 0
<if test="userIdList !=null and userIdList.size()>0">
and user_id in
<foreach collection="userIdList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="id!=null">
and gradeId = #{id}
</if>
</select>
預(yù)期運(yùn)行sql應(yīng)該不會(huì)有and gradeId =
用mybatis sql log工具查看運(yùn)行sql如下:【與預(yù)期不符合】
select user_student_info_id
FROM user_student_info
WHERE deleted = 0 and user_id in ( 75 , 76 ) and gradeId = 76;
將<foreach>中的item="id"改為item="item"就不會(huì)有and gradeId =
二.總結(jié)
在foreach標(biāo)簽item取名時(shí)避免和入?yún)⒚恢履甓眩琲ndex的名字也是一樣
原文地址:https://blog.csdn.net/queshuihaimian/article/details/98489239