警惕Mybatis的foreach的的副作用

9月 10, 2014 |

假设有如下的mapper:

这个动态SQL很简单,如果参数中有ID字段,那么将SQL组装为:

如果参数中有IDArr,那么将SQL组装成

计划的很完美,但实际却不是这样的,当有参数IDArr时,组装成的SQL却为:

解决办法有
1)  将红色的ID 换成别的名称,比如“item”。
2)  这两个if 是对同一个字段判断,改为choose… when 结构

Posted in: Mybatis practise | Tags:

Comments are closed.