mybatis使用foreach的 separator="or" 失效问题

今天处理一个需求,选中北京三城一副一区,要查到"海淀区,怀柔区,昌平区,大兴区,通州区"三个区的数据

思路:由于地址并没有分区,只是一个字符串,所以把 "海淀区,怀柔区,昌平区,大兴区,通州区" 拼接为多个like

传参:"海淀区,怀柔区,昌平区,大兴区,通州区"

 

碰到问题:xml中foreach没有循环,separator="or"也失效

但是,问题解决了啊^_^,所以才来写文章的啊O(∩_∩)O哈哈~

 

解决过程:

处理为List

失败:

select COUNT(b.`id`) num,b.`hymc` hymc from yjjc_zcxx b WHERE ( b.zcdz like '%海淀区,怀柔区,昌平区,大兴区,通州区%' ) group by b.hymc

 

处理为String[]

成功:

select COUNT(b.`id`) num,b.`hymc` hymc from yjjc_zcxx b WHERE ( b.zcdz like '%海淀区%' or b.zcdz like '%怀柔区%' or b.zcdz like '%昌平区%' or b.zcdz like '%大兴区%' or b.zcdz like '%通州区%' ) group by b.hymc

 

SQL:

你可能感兴趣的:(mybatis)