page contents

mybatis批量更新出现问题,求解决方案

Pack 发布于 2020-02-14 22:16
阅读 511
收藏 0
分类:Java开发

XML是这样子的,但是实际运行报错

<!--批量更新-->

    <update id="updateUserBatch" parameterType="java.util.List">

        <foreach collection="list" item="items" index="index" open="" close="" separator=";">

            update hd_t_user

            <set>

                username = #{items.username,jdbcType=VARCHAR},

                password = #{items.password,jdbcType=VARCHAR}

            </set>

            where id = #{items.id,jdbcType=BIGINT}

        </foreach>

    </update>

报错

控制台没有打印哈,可能是有啥子问题,表现就是没有跟新数据库数据


解决方案一(但是目前有很多人用这个数据库,有限制,我不能这么设置,还有没有其他解决方案?)

attachments-2020-02-Ckxe5zV85e46ab71c9877.png

360
Pack
Pack

批量更新 <update id="updateList"> update aaa_table t inner join <foreach collection="list" item="bean" separator="union all" open="(" close=") t1 on t.id = t1.id and t.version = t1.version"> select #{bean.id} as id, #{bean.version} as version, #{bean.updateTime} as update_time, #{bean.updateId} as update_id, #{bean.updateName} as update_name from dual </foreach> set t.version = t1.version + 1, t.update_time = t1.update_time, t.update_id = t1.update_id, t.update_name = t1.update_name </update>

请先 登录 后评论