ssm框架实现批量插入操作和更新操作

该博客主要介绍了SSM框架实现批量插入操作和更新操作。包含插入操作和更新操作两部分内容,还给出了多字段批量更新翻译成的可执行SQL语句示例,同时标注了相关字段对应数据库里的字段,并提供了参考地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssm框架实现批量插入操作和更新操作

1.插入操作

<insert id="insertList" parameterType="java.util.List">
    insert into movie
    ( movie_id,movie_score,movie_name,type,box,movie_director,movie_actor,movie_area,
    movie_time,img)
    values
    <foreach collection="list" item="item" index="index" separator=",">
      (#{item.movieId}, #{item.movieScore}, #{item.movieName}, #{item.type}, #{item.box}, #{item.movieDirector},
      #{item.movieActor}, #{item.movieArea}, #{item.movieTime},#{item.img}
      )
    </foreach>
  </insert>

2.更新操作

<update id="updateList" parameterType="java.util.List">
      UPDATE actor
      <set>
        actor_weight=
        <foreach collection="list" item="bean" index="index" separator=" "
                 open="case actor_id" close="end">
        when #{bean.actorId} then
        #{bean.actorWeight}
        </foreach>
      </set>
  </update>

注:open的case对应的actor_id是数据库里的字段

多字段批量更新:翻译成可执行的sql语句为:
UPDATE table_name
SET people_id = CASE id
WHEN 3 THEN ‘田田1’
WHEN 5 THEN ‘果果1’
END,
roadgrid_id = CASE id
WHEN 3 THEN ‘tiantian1’
WHEN 5 THEN ‘guoguo1’
END,
type = CASE id
WHEN 3 THEN ‘田田1’
WHEN 5 THEN ‘果果1’
END,
units_id = CASE id
WHEN 3 THEN ‘田田1’
WHEN 5 THEN ‘果果1’
END
WHERE id IN (3,5)

<update id="updateBatch" parameterType="list">
            update course
            <trim prefix="set" suffixOverrides=",">
            // 表对应people_id字段,pojo对应peopleId字段
             <trim prefix="people_id =case" suffix="end,">
                 <foreach collection="list" item="i" index="index">
                         <if test="i.peopleId!=null">
                          when id=#{i.id} then #{i.peopleId}
                         </if>
                 </foreach>
              </trim>
              // 表对应roadgrid_id字段,pojo对应roadgridid字段
              <trim prefix=" roadgrid_id =case" suffix="end,">
                 <foreach collection="list" item="i" index="index">
                         <if test="i.roadgridid!=null">
                          when id=#{i.id} then #{i.roadgridid}
                         </if>
                 </foreach>
              </trim>
              // 表对应type字段,pojo对应type字段
              <trim prefix="type =case" suffix="end," >
                 <foreach collection="list" item="i" index="index">
                         <if test="i.type!=null">
                          when id=#{i.id} then #{i.type}
                         </if>
                 </foreach>
              </trim>
         // 表对应units_id字段,pojo对应unitsid字段  
       <trim prefix="units_id =case" suffix="end," >
                  <foreach collection="list" item="i" index="index">
                          <if test="i.unitsid!=null">
                           when id=#{i.id} then #{i.unitsid}
                          </if>
                  </foreach>
           </trim>
             </trim>
              // 表对应id字段,pojo对应id字段  
            where
            <foreach collection="list" separator="or" item="i" index="index" >
              id=#{i.id}
          </foreach>
</update>

参考地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值