mybatis批量update报错 (mysql)
·
问题:用mybatis批量update时报错,解决过一次过一段 时间就又忘记了。特记录一下
<update id="updateDigitalDataList" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update a
<set>
name = #{item.name}
</set>
where id = #{item.id}
</foreach>
</update>
解决:1.在数据库的连接url上 &allowMultiQueries=true
jdbc:mysql://1270.0.1:3306/itest?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
2.修改mapper.xml
<update id="updateDigitalDataList" parameterType="java.util.List">
update a set
name=
<foreach collection="list" item="item" index="index" separator=" " open="case id" close="end">
when #{item.id} then #{item.name}
</foreach>
where id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.id}
</foreach>
</update>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)