Mybatis批量操作

一、批量插入
注意,separator="," 不是冒号 “:”,此时 jdbc.url无需加入连接参数 &allowMultiQueries=true

<insert id="insertBachMsSupPrice" parameterType="java.util.List">
   INSERT INTO table_name
   (a,b,c,d,c,f,g)
   VALUES
   <foreach collection="list" item="item" index="index" separator="," >
      (#{item.a,jdbcType=VARCHAR}, #{item.b,jdbcType=VARCHAR}, #{item.c,jdbcType=VARCHAR}, #{item.e,jdbcType=VARCHAR}, #{item.f,jdbcType=NUMERIC}, #{item.g,jdbcType=NUMERIC})
   </foreach>
</insert>

二、批量更新
jdbc.url必须加入连接参数 &allowMultiQueries=true(允许批量操作),且separator=";" 是分号,不是冒号
,如果不想在链接数据库的url上加上参数的话,可以换种实现方式,先删除再增加。

<!--批量更新-->
 <update id="updateBachMsSupPrice" parameterType="java.util.List">
  <foreach collection="list" item="item"  index="index" separator=";" >
   UPDATE  table_name1 a ,table_name2 b, table_name3 e
   <set>
    a.字段=#{item.属性},
    a.字段=#{item.字段属性}
   </set>
   WHERE  a.mms_sup_unique=#{item.mmsSupUnique}
   AND    a.字段=0
   AND a.字段 = b.id
   AND  a.字段 =e.id
  </foreach>
 </update>

三、批量删除
这个也无需在url上添加参数加入参数

<delete id="deleteBachMsSupPrice" parameterType="java.util.List">
      DELETE FROM table_name WHERE  字段  in
   <foreach collection="list" item="item"  open="(" separator="," close=")">
      #{item.字段属性}
   </foreach>
</delete>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值