源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Mybatis批量更新报错问题

  • 时间:2022-08-23 07:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Mybatis批量更新报错问题
下面给大家介绍mybatis批量更新报错问题,
allowMultiQueries=true
后来发现是jdbc链接没有加允许批量更新操作的参数引起的,不加会报badsql,mysql版的mybatis批量更新操作如下
<update id="updateOrderOverdueStatus" parameterType="java.util.List">
  <foreach collection="list" item="item" index="index" open="" close="" separator=";">
   update t_am_bystages_order
   <set>
    overdue_status=#{item.overdueStatus}
   </set>
   where order_id=#{item.orderId}
  </foreach>
 </update>
[b]  下面看下Mybatis批量更新数据的方式[/b] [b]  第一种方式[/b]
<update id="updateBatch" parameterType="Map"> 
  update aa set  
   a=#{fptm}, 
   b=#{csoftrain} 
  where c in  
  <foreach collection="cs" index="index" item="item" pen="("separator=","close=")"> 
   #{item} 
  </foreach> 
</update> 
但是这种方式修改的字段值都是一样的。 [b]第二种方式[/b] 修改数据库连接配置[code]:&allowMultiQueries=true[/code] 比如:jdbc:MySQL://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
<update id="batchUpdate" parameterType="java.util.List"> 
   <foreach collection="list" item="item" index="index" open="" close="" separator=";"> 
    update test 
    <set> 
     test=${item.test}+1 
    </set> 
    where id = ${item.id} 
   </foreach> 
 </update> 
这种方式,可以一次执行多条SQL语句 [b]参考:[/b] [url=http://www.1sucai.cn/article/102593.htm]mybatis执行批量更新batch update 的方法(oracle,mysql两种)[/url] 以上所述是小编给大家介绍的详解Mybatis批量更新报错,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程素材网网站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部