mybatis批量操作


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.beantechs.speech.cloud.mapper.CustomUserContactMapper" >

  <insert id="batchInsertContact" parameterType="java.util.List">
    insert into user_contact (device_id,vin,user_id,contact_name,create_time) values
    <foreach collection="list" item="item"  separator=",">
      (#{item.deviceId},#{item.vin},#{item.userId},#{item.contactName},#{item.createTime})
    </foreach>
  </insert>

  <select id="queryList" resultType="java.lang.String">
    select
    uc.contact_name contactName
    FROM user_contact uc
    where uc.device_id = #{deviceId}
    <if test="userId != null and userId != ''">
      and uc.user_id = #{userId}
    </if>
    <if test="vin != null and vin != ''">
      and uc.vin = #{vin}
    </if>
    <if test="contactName != null and contactName != ''">
      and uc.contact_name like concat(concat('%',#{contactName}),'%')
    </if>
    <if test="dflag != null">
      and uc.dflag = #{dflag}
    </if>
  </select>

  <update id="batchUpdateByParams" parameterType="java.util.List">
    update user_contact
    set dflag = case
    <foreach collection="list" item="item">
      when
      device_id = #{item.deviceId} and user_id = #{item.userId} and contact_name = #{item.contactName}
      <if test="item.vin != null">
        and vin = #{item.vin}
      </if>
       then #{item.dflag}
    </foreach>
    end
    <where>
      <foreach collection="list" item="item" open="( " separator="," close=" )">
        device_id = #{item.deviceId} and user_id = #{item.userId} and contact_name = #{item.contactName}
        <if test="item.vin != null">
          and vin = #{item.vin}
        </if>
      </foreach>
    </where>
  </update>

  <update id="batchUpdateFlag" parameterType="java.util.List">
    update user_contact
    set dflag = case
    <foreach collection="list" item="item">
      when device_id = #{item.deviceId} and contact_name = #{item.contactName} then #{item.dflag}
    </foreach>
    end
    <where>
      <foreach collection="list" item="item" open="( " separator=") or (" close=" )">
        device_id = #{item.deviceId} and contact_name = #{item.contactName}
      </foreach>
    </where>
  </update>
</mapper>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值