Mybatis中使用foreach是在对传入的数组或List或别的更复杂的不定长结构遍历的解决方法,

我们平常也会经常用到这个写法,所以为了打一个备忘录也为了分享,就查询资料总结了一下这个foreach的使用方法,需要注意的点和我碰到的问题,作为一个新手,经验不是很丰富,如果有不同意见的地方,请留言讨论,如果我看到肯定会回复的。

一,foreach使用格式:

  •  collection:指定输入对象中的集合属性
  •  item:每次遍历生成的对象
  •  open:开始遍历时的拼接字符串
  •  close:结束时拼接的字符串
  •  separator:遍历对象之间需要拼接的字符串

二、 常见错误:

1、foreach拼接字符串,开头和结尾用单引号,否则报错

2、中括号使用转义符,否则查询结果不正确

3、${item}不能用#,否则报错

4、使用replace函数去空格,否则查询不到结果(mybatis自动给我加上了空格)

三、心得:

如果只是正常的 "(" 或 ")" 并没有任何问题,

在使用mybatis的foreach标签时在开头(open) 和结束(end)时,如果是单引号,则在拼接时不能使用#{item},只能使用${item}拼接。

四、参考:

MyBatis中正则使用foreach拼接字符串 / 张生荣

五、mybatis中使用collection

 

 

更多推荐

Mybatis中使用foreach