使用 MyBatis 时如何在循环中使用 <bind> ?

账单

我想构建一个像“(列如 'a%' 或列如 'b%' 或 ...)”和 a、b 等的 sql。是集合中的元素。所以我想出了这样的xml文件

<foreach item="item" collection="items" open="(" separator=" or " close=")">
<bind name="pattern" value="item + '%'" />
column like #{pattern}
</foreach

但它并没有像我想象的那样成功。sql 就像“(像'c%' 一样的列或像'c%' 或...一样的列)”,其中c 是集合中的最后一个元素。现在我使用 CONCAT 函数来完成这项工作。

column like CONCAT(#{pattern},'%')

有没有其他好的方法来完成这项工作?谢谢。

大街

这是一个已知的限制,即<bind />不能在内部使用,<foreach />并且存在一个未解决的问题
目前使用 CONCAT 是一个很好的解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章