使用mybatis进行批量更新操作:

报错如下:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update
goods g
SET
update_date = '2019-03-19 17:16:05.918',
updat' at line 28

但是检查了以后,28行并没有错误

使用【https://www.cnblogs.com/sxdcgaq8080/p/9100178.html】 打印了sql,发现sql如下,也没有问题:

UPDATE goods
SET update_date = '2019-03-19 17:12:30',
update_id = 'defUserId',
enabled = 1,
NAME = '李钢的屏幕维修服务',
py_all = 'ligangdepingmuweixiufuwu',
py_head = 'lgdpmwxfw',
outer_code = '345345345345',
mnemonic_code = '',
del_flag = 0,
enabled_flag = 1,
goods_type_uid = 'a5cd4e8cc75456e7',
url = '',
bar_cide = '',
sale_price = NULL,
integral = 0,
scan_name = '李钢的屏幕维修服务',
brand_uid = '01',
en_name = '李钢的屏幕维修服务'
WHERE
outer_id = '345345345345'
AND tenement_id = 'test_tenement_123'; UPDATE goods
SET update_date = '2019-03-19 17:12:30',
update_id = 'defUserId',
enabled = 1,
NAME = '黑莓798',
py_all = 'heimei798',
py_head = 'hm798',
outer_code = '453975973361094656',
mnemonic_code = '',
del_flag = 0,
enabled_flag = 1,
goods_type_uid = 'a5cd4e8cc75456e7',
url = '',
bar_cide = '',
sale_price = NULL,
integral = 0,
scan_name = '黑莓798',
brand_uid = '01',
en_name = '黑莓798'
WHERE
outer_id = '453975973361094656'
AND tenement_id = 'test_tenement_123'; UPDATE goods
SET update_date = '2019-03-19 17:12:30',
update_id = 'defUserId',
enabled = 1,
NAME = '测试商品',
py_all = 'ceshishangpin',
py_head = 'cssp',
outer_code = 'CS001',
mnemonic_code = '',
del_flag = 0,
enabled_flag = 1,
goods_type_uid = 'a5cd4e8cc75456e7',
url = '',
bar_cide = '',
sale_price = NULL,
integral = 0,
scan_name = '测试商品',
brand_uid = '01',
en_name = 'test
product'
WHERE
outer_id = 'CS001'
AND tenement_id = 'test_tenement_123'

报错原因:

是因为spring boot配置文件中,关于数据库的连接配置,并没有允许进行批量更新的操作

解决方法:

将数据库配置修改为 
jdbc.url=jdbc:mysql://127.0.0.1:3306/datebase?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&allowMultiQueries=true 新增了 &allowMultiQueries=true 意为 允许批量更新

需要注意的是:

加了&allowMultiQueries=true 意为 允许批量更新

但是此时如果再想在spring boot中运行mybatis的时候想打印出来sql,就已经不起作用了。

此时按照
https://www.cnblogs.com/sxdcgaq8080/p/9100178.html
配置的,在spring boot中打印sql语句,就无效了

【mybatis】mybatis进行批量更新,报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right的更多相关文章

  1. mybatis批量更新update-设置多个字段值 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    mybatis批量更新update-设置多个字段值 2016年08月01日 12:49:26 姚一号 阅读数:29539 标签: mysql mybatis批量更新批量更新allowMultiQuer ...

  2. SQL语句报错:You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near

    报错如图: 最开始其实我的列名tname和tsubject分别叫name和subject,后来看到网上有说这个报错可能是数据库建表的时候使用了mysql的关键词,我就只把name改了.后来还是这个问题 ...

  3. myBatis查询报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    myBatis查询报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL se ...

  4. 插入mysql语句报错:1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    插入一个很简单的sql语句时候,mysql一直报错: [SQL] INSERT INTO ORDER ( id, activity_id, order_type, phone, order_amoun ...

  5. 修改mysql密码报错: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '

    使用这种格式报错: 格式:mysql> set password for 用户名@localhost = password('新密码'); 找到另一种方法解决: ALTER USER 'root ...

  6. Django进行数据迁移时,报错:(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")

    进行数据迁移时: 第一步: 命令:python manage.py makemigrations 在对应的应用里面的migrations文件夹中产生了一个0001_initial.py文件 第二步:执 ...

  7. Mybatis批量更新报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    批量更新数据,非常简单的一段代码,硬是报错,插入的数据也能显示出来 List<User> userlist = new ArrayList<User>(); userlist. ...

  8. 求助:springboot调用存储过程并使用了pagehelper分页时报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    存储过程如下: dao层的sql Controller层调用: html页面 没有使用pagehelper分页之前,可以正常使用 使用了pagehelper之后就报错 ### Error queryi ...

  9. 5.7版本mysql查询报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:...this is incompatible with sql_mode=only_full_group_by

    先瞧下日志: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException ...

随机推荐

  1. poj2709

    模拟题,在合成灰色的时候,每次取当前剩余最多的三种颜色,各取1mL合成.然后重新看剩余最多的是哪三个. #include <cstdio> #include <cstdlib> ...

  2. Coursera台大机器学习技法课程笔记11-Gradient Boosted Decision Tree

    将Adaboost和decision tree相结合,需要注意的地主是,训练时adaboost需要改变资料的权重,如何将有权重的资 料和decision tree相结合呢?方法很类似于前面讲过的bag ...

  3. hdu 2065(泰勒展式)

    比赛的时候遇到这种题,只能怪自己高数学得不好,看着别人秒.... 由4种字母组成,A和C只能出现偶数次. 构造指数级生成函数:(1+x/1!+x^2/2!+x^3/3!……)^2*(1+x^2/2!+ ...

  4. java innerclasses(内部类)

    可以将一个类定义在另一个类的内部,这就是内部类 创建内部类的方式---把类的定义置于外部类的里面 典型的情况是,外部类将有一个方法,该方法返回一个指向内部类的引用,就像在to()和contents() ...

  5. ****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例

    前端 时间个性化 插件 jquery.timeago.js 关键词 : 时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 MM-dd hh:mm  或者  yyyy-MM-dd 前端: & ...

  6. k8s中新建一个namespace和harborsecret的yaml文件

    注意哟, 不同的harborsecret,在不同的namespace中,是不共用的. 也就是说,如果在default名字空间中,创建了一个docker login secret, 在其它名字空间中,是 ...

  7. PLSQL Developer 中文显示乱码的解决方法

    PLSQL Developer 中文显示乱码是因为 Oracle 数据库所用的编码和 PLSQL Developer 所用的编码不同所导致的. 解决方法: 1. 先查询 Oracle 所用的编码 se ...

  8. 2019 CCPC wannfly winter camp Day 8

    E - Souls-like Game 直接线段树合并矩阵会被卡T掉,因为修改的复杂度比询问的复杂度多一个log,所以我们考虑优化修改. 修改的瓶颈在于打lazy的时候, 所以我们预处理出每个修改矩阵 ...

  9. SpringBoot的Controller使用

    一: 1.注解 2.control注解 3.效果 4.RespomseBody package com.caojun.springboot; import org.springframework.be ...

  10. 如何使用DSP的cache(转)

    C6747在执行一块算法的执行时间在114ms左右,需求要20ms以下.6000属于分层存储器体系架构,内部RAM跟CPU不同频运行,只有cache使能才跟CPU同频.可能是cache没打开.下面转载 ...