Mybatis批量修改时出现报错问题解决方案
作者:cqy19951026 发布时间:2022-05-15 19:07:40
标签:Mybatis,批量,修改,报错
批量修改代码如下
<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语句
来源:https://www.cnblogs.com/cqy1026/p/13904820.html


猜你喜欢
- 前面博客我们在讲解数组中,知道数组作为数据存储结构有一定的缺陷。在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除
- 什么是TaskScheduler?SynchronizationContext是对“调度程序(scheduler)&am
- 第一次进入应用的时候,都会有一个引导页面,引导页面的实现起来也很简单,实现的方式也有很多,下面是自己写的一个引导页面的效果,大致的实现思路为
- 本文实例讲述了C#实现两接口中同名方法。分享给大家供大家参考。具体分析如下:对于一个类实现两个接口,而这两个接口又有同名方法,C#中的处理方
- 1. 阐述对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法
- 1. Java中导致死锁的原因Java中死锁最简单的情况是,一个线程T1持有锁L1并且申请获得锁L2,而另一个线程T2持有锁L2并且申请获得
- 本文实现Unity调用手机摄像,拍摄,然后识别二维码,显示二维码的内容。需要导入一个zxing.unity.dll文件,现在这个脚本的识别数
- 一、SpringMVC使用1.工程创建创建maven工程。添加java、resources目录。引入Spring-webmvc 依赖。<
- 1、JavaBean介绍 * JavaBean的定义:JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)
- 一、首先看下Android开发用到的sdk目录:build-tools保存着一些Android平台相关通用工具,比如adb、和aapt、ai
- 单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式
- 运行原理1、不同线程中所包含的栈帧是不允许存在相互引用的。2、如果当前方法调用了其他方法,方法返回之际,当前栈帧会传回此方法的执行结果给当前
- 本文实例讲述了Java链表中元素删除的实现方法。分享给大家供大家参考,具体如下:该部分与上一节是息息相关的,关于如何在链表中删除元素,我们一
- 简单介绍快速排序(Quicksort) 是对 冒泡排序的一种改进。基本思想快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)首
- 1.使用List集合方式用list保存activity实例,然后逐一干掉import java.util.LinkedList;import
- 什么是接口?说到接口,USB大家肯定不陌生~接口是一种标准、规范.注意:接口一旦制定好,使用者和实现者都必须遵循的标准.接口的语法: (JD
- 什么是优雅停机先来一段简单的代码,如下:@RestControllerpublic class DemoController { @GetM
- 背景客户使用我们系统的时候,查询不带任何查询条件,查询就返回全部数据,500多万条数据啊,然后直接导出,数据量庞大,接口超时,这可苦了我们这
- 请求进入DispatcherServlet的doDispatch后,获取HandlerMethod。然后根据HandlerMethod来确认
- 最近博主开始在项目中实践MVP模式,却意外发现内存泄漏比较严重,但却很少人谈到这个问题,促使了本文的发布,本文假设读者已了解MVP架构。MV