Mybatis批量修改时出现报错问题解决方案
程序员文章站
2022-03-25 11:07:15
批量修改代码如下
批量修改代码如下
<update id="update_hotel_real_time_price" parametertype="java.util.list"> <foreach collection="list" item="item" index="index" separator=";"> update vst_hotel_real_time_price <set> <if test="item.realtimeprice1 != null"> real_time_price1 = #{item.realtimeprice1}, </if> <if test="item.realtimeprice2 != null"> real_time_price2 = #{item.realtimeprice2}, </if> <if test="item.realtimeremain1 != null"> real_time_remain1 = #{item.realtimeremain1}, </if> <if test="item.realtimeremain2 != null"> real_time_remain2 = #{item.realtimeremain2}, </if> update_time = now() </set> where product_id = ${item.productid} </foreach> </update>
今天在使用mybatis批量修改时报错,错误为sql语句错误:
开始检查xml中代码:
<update id="updatetypelist" parametertype="list"> <foreach collection="list" item="type" index="index" separator=";"> update t_type <set> <if test="type.name != null"> t_name = #{type.name} </if> </set> where t_id = #{type.id} </foreach> </update>
感觉并没有错误,把错误语句复制到navicat上能正常运行,于是网上查找了一下需要在url语句中添加allowmultiqueries=true,添加后成功运行。
mysql中allowmultiqueries=true作用:
1.可以在sql语句后携带分号,实现多语句执行。
2.可以执行批处理,同时发出多个sql语句
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: js引用公共头部、尾部html页面的方法
下一篇: css解析逆序匹配