mybatis 批量更新
程序员文章站
2022-05-25 15:44:19
...
本次作为问题解决记录,稍后会做详细梳理
<update id="updateDataValueByTypeAndLabel" parameterType="java.util.List">
update sys_dict_data
set dict_value=
<foreach collection="list" item="item" index="index" separator=" " open="case dict_label" close="end">
when #{item.dictLabel} then #{item.dictValue}
</foreach>
where dict_label in
<foreach collection="list" index="index" item="item"
separator="," open="(" close=")">
#{item.dictLabel,jdbcType=VARCHAR}
</foreach>
</update>
传递的数据也可以明文打印出来,需要自己在项目里面设置拦截器并且配置
update sys_dict_data set dict_value= case dict_label when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? end where dict_label in ( ? , ? , ? , ? , ? , ? )
其中when...then...
是sql
中的"switch"
语法。这里借助mybatis
的<foreach>
语法来拼凑成了批量更新的sql
上一篇: 你需要知道的这几种 asp.net core 修改默认端口的方式
下一篇: 中国近代历史的转折点