mybatis 批量插入/批量修改/批量删除

前言

Java学习路线个人总结-博客
❤欢迎点赞👍收藏⭐留言 📝分享给需要的小伙伴

Mybatis批量操作

1、批量新增
int batchSaveBook(@Param("bookList")List<Book> bookList);
<insert id="batchSaveBook" parameterType="java.util.List">
        insert into book (`name`, user_id,
        price)
        values
        <foreach collection="bookList" item="book" separator=",">
            ( #{book.name,jdbcType=VARCHAR}, #{book.user_id,jdbcType=INTEGER},
            #{book.price,jdbcType=DOUBLE})
        </foreach>
</insert>

2、批量修改

批量修改注意在Mysql连接后面添加&allowMultiQueries=true不然会报错

int batchUpdateBook(@Param("list") List<Book> bookList);
<update id="batchUpdateBook" parameterType="java.util.List">
        <foreach collection="list" item="book" open="" close="" separator=";">
            update book
            <set>
                <if test="book.name!=null">
                    `name`=#{book.name,jdbcType=VARCHAR},
                </if>
                <if test="book.user_id!=null">
                    user_id = #{book.user_id,jdbcType=INTEGER},
                </if>
                <if test="book.price!=null">
                    price = #{book.price,jdbcType=DOUBLE}
                </if>
            </set>
            where id=#{book.id,jdbcType=INTEGER}
        </foreach>
</update>

4、批量删除

int batchDelete(@Param("list")List<Integer> ids);
<delete id="batchDelete" parameterType="java.util.List">
    delete from book where id IN
    <foreach collection="list"  item="ids" open="(" separator="," close=")"  >
      #{ids}
    </foreach>
</delete>
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒险的梦想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值