MyBatis - 批量更新(update foreach)报错

在使用mybatis执行批量更新(update foreach)数据的时候报错如下:

org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: 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 '......
### The error may involve .... 
### The error occurred while setting parameters ### SQL:

刚开始一直以为是自己SQL写错了,但是检查N遍,发现也没问题,而且到Navicat中执行也没说SQL报错,批量更新SQL如下:

 <!--批量更新报表 --><update id="updateBatchUser" parameterType="java.util.List"><foreach collection="userList" item="item" index="index" separator=";">update sys_user<set><if test="item.userName != null and item.userName!= ''">user_name = #{item.userName}, </if><if test="item.userNo != null">user_no = #{item.userNo }, </if>...updated_time = now()</set>where id = #{item.id} </foreach></update>
解决方案

MySQL的批量更新是要我们主动去设置的,使用mybatis进行批量插入与更新时,必须在配置连接url时加上 &allowMultiQueries=true 即可

jdbc:mysql://xx:3306/test?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&allowMultiQueries=true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

矩阵的乘法

首先矩阵的乘法定义如下&#xff1a; #include <stdio.h> int main() { int i 0; int j 0; int arr[20][20] { 0 }; int str[20][20] { 0 }; int s[20][20] { 0 }; int n1 0; int n2 0; int m2 0; int z 0; int m1 0;…

Danil Pristupov Fork(强大而易用的Git客户端) for Mac/Windows

在当今软件开发领域&#xff0c;团队协作和版本控制是非常重要的方面。在这个过程中&#xff0c;Git成为了最受欢迎的版本控制工具之一。然而&#xff0c;对于Git的使用&#xff0c;一个好的客户端是至关重要的。 今天&#xff0c;我们要为大家介绍一款强大而易用的Git客户端—…

基于X86的助力智慧船载监控系统

船载综合监控系统结合雷达、AIS、CCTV、GPS等探测技术&#xff0c;以及高度融合的实时态势与认知技术&#xff0c;实现对本船以及范围内船舶的有效监控&#xff0c;延伸岸基监控中心监管范围&#xff0c;保障行船安全&#xff0c;为船舶安全管理部门实现岸基可控的数据通信和动…

JavaScript——BOM中所有对象的常用属性和方法【万字长篇超宝典】

目录 什么是BOM&#xff1f; BOM中的对象 一、window对象 1、控制台打印方法 2、弹窗相关方法 &#xff08;1&#xff09;、alert( )提示框 &#xff08;2&#xff09;、confrim( )交互框 &#xff08;3&#xff09;、prompt( )输入框 3、窗口打开关闭的方法 &#…

密码学入门 古老的围栏密码技术

1、简述 由于隐私和安全的重要性不断增加&#xff0c;已经开发了多种加密方法和技术来保护我们的敏感数据。随着时间的推移而演变&#xff0c;从经典密码学发展到现代密码学。 在本文中&#xff0c;我们将了解一种被称为围栏密码技术的技术&#xff0c;涵盖其加密和解密过程及其…

k8s声明式资源管理

三种常见的项目发布方式 1、蓝绿发布 2、金丝雀发布&#xff08;灰度发布&#xff09; 3、滚动发布 应用程序升级&#xff0c;面临的最大的问题是新旧业务之间的切换&#xff0c;立项-----定稿------需求发布-----开发------测试------发布&#xff0c;测试之后上线&#x…

OpenHarmony底座升级指南(3.2升级4.0)

前言 本文旨在帮助开发者完成底座升级&#xff0c;文中主要以OpenHarmony 3.2 release 升级至OpenHarmony 4.0 release为模板描述。 一、流程概览&#xff1a; 1.1 准备工作 在准备阶段&#xff0c;需要完整收集所有的定制化修改&#xff0c;明确修改人&#xff1b;并且要将…

CTFshow web入门web127-php特性30

开启环境: extract() 函数从数组中将变量导入到当前的符号表&#xff0c;使用数组键名作为变量名&#xff0c;使用数组键值作为变量值 举例就是?a2&#xff0c;就会变成$a2&#xff0c;这里ctf_show有个_需要构造&#xff0c;前面说过php中变量名只有数字字母下划线&#xff…

Demo:基于elementplus的弹窗嵌套表单进行二次封装

基于elementplus的弹窗嵌套表单进行二次封装 所见即所得&#xff1a;简单封装方便工作 ProForm.vue代码&#xff1a; <!--* Author: 忆往昔* LastEditTime: 2024-01-6 14:36:00* email: 15871856064163.com --> <template><div class"penk-form-contain…

机器学习(四) -- 模型评估(3)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

【LMM 011】MiniGPT-5:通过 Generative Vokens 进行交错视觉语言生成的多模态大模型

论文标题&#xff1a;MiniGPT-5: Interleaved Vision-and-Language Generation via Generative Vokens 论文作者&#xff1a;Kaizhi Zheng* , Xuehai He* , Xin Eric Wang 作者单位&#xff1a;University of California, Santa Cruz 论文原文&#xff1a;https://arxiv.org/ab…

优化|流形优化系列(一)

简介 流形优化是非线性优化的一个分支&#xff0c;它主要关注在特定的几何结构下进行优化。在流形优化中&#xff0c;优化问题通常是在黎曼流形上进行的&#xff0c;而非欧几里得空间。黎曼流形是带有黎曼度量的流形&#xff0c;该度量为流形上的每个点都定义了一个内积。这种…