下面给大家介绍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>
下面看下Mybatis批量更新数据的方式
第一种方式
<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>
但是这种方式修改的字段值都是一样的。
第二种方式
修改数据库连接配置:&allowMultiQueries=true
比如: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语句
参考:
mybatis执行批量更新batch update 的方法(oracle,mysql两种)
以上所述是小编给大家介绍的详解Mybatis批量更新报错,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
我最近开始学习使用myBatis。我现在面临这样一个场景,我需要通过WebService不断获取一个新的对象列表,然后对于这个列表,我需要通过myBatis将每个对象插入/更新到oracle DB表中。 棘手的是,我不能每次都简单地进行批量插入,因为有些对象可能已经存在于数据库中,对于这些记录,我需要更新它们的字段,而不是新的插入。 我目前的解决方案可能非常愚蠢,使用Java,从webservic
我用myBatis。Single record语句工作正常,但当我尝试使用foreach执行记录列表的更新时,出现了一个关于映射的错误,这有点奇怪,因为它对Single record工作正常。 下面是我得到的错误: 原因:org。阿帕奇。伊巴蒂斯。类型TypeException:无法为映射设置参数:ParameterMapping{property=''frch\u item_0.fieldOne
问题内容: 我最近开始学习使用myBatis。现在面对这样的情况,我需要通过WebService不断获取新的对象列表,然后对于该列表,我需要通过以下方式将每个对象插入/更新到oracle DB表中: myBatis。 棘手的部分是,我不能每次都简单地进行批量插入,因为某些对象可能已经存在于数据库中,对于这些记录,我需要更新它们的字段而不是新插入。 我当前的解决方案可能非常愚蠢,使用Java,从We
请让我知道,如何使用带注释的映射器在mybatis中执行批插入/更新。
我试图使用google sheet API for iOS进行批量更新,但在“数据[0]处收到一个无效值错误。值[0]'(type.googleapis.com/google.protobuf.ListValue), 这是我的密码 我的请求参数是 错误是 “数据[0]处的值无效。值[1]'(type.googleapis.com/google.protobuf.ListValue),“客户名称”在
一、简介 方便用户在设置URL规则时更新url,无需手动去更新各页面URL。只需选择就能批量更新URL即可。 二、功能演示 1.批量更新URL 1、仅当内容页URL规则发上变化时,请批量更新,地址未改变时,不需要更新 。 2、规则设置:设置 > 相关设置 > 管理栏目 > 添加或修改栏目 选择需要更新的模型和栏目,输入每轮更新的信息数目提交则完成批量更新URL操作。如下图所示: