mybatis forEach标签item影响其他标签判断分享
MyBatis 在解析标签时有一种特殊场景下会出现问题(如下图)。
问题:若传入的参数是List,若List不为空,则if标签每次都会执行,并且if标签中id的值是参数List中遍历的最后一个值。
在业务场景中就会出现,同一个字段 可能既有 in 又有 and ,影响查询结果,从而影响业务判断。
结论:所以在mapper.xml配置文件中,同一个SQL语句中的不同标签(主要针对会修改属性中变量值的标签,如forEach),尽量使用不同的变量名称.
源码路径:


