先举个小例子

我们使用foreach进行批量插入

insert into user(id,name)
values
<foreach collection="list" separator=","  item="item" index="index">
        (#{item.id},#{item.name})
</foreach>

今天在操作库时遇到了一个小需求,传递的是关系表的 主键数组和 主键

//关系表
Integer saveItemId(@Param("itemId") Integer[] itemId, @Param("groupId") Integer groupId);
itemId 是关联的主键列表 
groupId 是被关联的主键
这时传递了两个参数,foreach标签的collection属性就不会写了,写官方给出的类型,例如 array,list等会报错,找不到参数。
所以直接尝试的写了 @Param("itemId") 注解中的参数名,竟然成了哈哈哈哈。
<insert id="saveItemId">
    insert into t_checkgroup_checkitem (checkgroup_id, checkitem_id)
    values
        <foreach collection="itemId" item="item"  separator=",">
            (#{groupId},#{item})
        </foreach>
</insert>

MyBatis的foreach使用小坑,传值一个常规参数,一个数组

 

相关文章:

  • 2021-06-05
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-11-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
  • 2021-04-07
  • 2022-12-23
  • 2021-09-13
  • 2021-09-21
相关资源
相似解决方案