在Java后台开发的过程中,批量更新总是会遇到的吧。 从我接触的批量更新分两种情况
这种情况适用于数据没有增减只更新某些字段。就是前端传需要更新数据后台批量更新就可以。mybatis批量更新
<update id="updateCatalogOrder">
<foreach close=";" collection="catalogList" item="catalog" open=" " separator=";">
UPDATE df_catalog
SET `order_num`= #{catalog.orderNum}
WHERE id = #{catalog.catalogId}
</foreach>
</update>
但是有一个问题,有时候前端只传更新的字段,如果后端不判断的话,没有传的字段就会更新为空了,解决办法就是判断只更新前端传的字段。不过最好的办法就是和前端商量让前端把要修改的对象完整的传过来,本来对象就返回给前端了。
这种情况也只适合这些数据都用一个共同的id。我现在的处理方式就是按照Id把数据全部删除,然后在重新插入数据。 直接调用mybatis的
xxxMapper.delete()
xxxMapper.insertList(list)
以上就是目前工作中接触的批量更新。如果有好的实现方式可以讨论。