mybatis动态sql中foreach标签的使用

  • foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代。如下:
<delete id="deleteBatch"> 
     delete from user where id in
   <foreach collection="array" item="id" index="index" open="(" close=")" separator=",">
      #{id}
   </foreach>
</delete>

我们假如说参数为---- int[] ids = {1,2,3,4,5} ----那么打印之后的SQL如下:

  delete form user where id in (1,2,3,4,5)
  • 释义:
    collection :collection属性的值有三个分别是list、array、map三种,分别对应的参数类型为:List、数组、map集合,我在上面传的参数为数组,所以值为array

  • item : 表示在迭代过程中每一个元素的别名

  • index :表示在迭代过程中每次迭代到的位置(下标)

  • open :前缀

  • close :后缀

  • separator :分隔符,表示迭代时每个元素之间以什么分隔

通常将之用到批量删除、添加等操作中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容