mybatis中如何实现批量插入和批量更新呢?

戚薇 MyBatis 发布时间:2023-06-15 20:38:40 阅读数:5145 1
下文笔者讲述mybatis中批量插入和批量更新的操作方法分享,如下所示

批量插入和批量更新的实现思路

使用mybatis中的foreach标签
    即可拼接一个批量插入和批量更新的sql脚本
	这就是mybatis批量插入和批量更新的实现思路

批量插入

<insert id="insertBatch" >
        insert into table ( <include refid="Base_Column_list" /> )
        values
        <foreach collection="list" item="i" index="index" separator=",">
            (#{i.id},#{i.userId},#{i.name})
        </foreach>
    </insert>

批量更新

使用case when语句
   变相实现批量更新

<update id="updateBatchById" parameterType="list">
    update table
    <trim prefix="set" suffixOverrides=",">
        <trim prefix="user_mobile =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.userMobile!=null">
                    when id=#{i.Id} then #{i.userMobile}
                </if>
            </foreach>
        </trim>
        <trim prefix="name =case" suffix="end,">
            <foreach collection="list" item="i" index="index">
                <if test="i.name!=null">
                    when id=#{i.Id} then #{i.name}
                </if>
            </foreach>
        </trim>
    </trim>
    where
    <foreach collection="list" separator="or" item="i" index="index" >
        id=#{i.Id}
    </foreach>
</update>
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/MyBatis/202306/6795.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者