解决mybatis批量更新出现SQL报错问题

网友投稿 800 2022-10-29

解决mybatis批量更新出现SQL报错问题

解决mybatis批量更新出现SQL报错问题

一、问题重现

1.配置文件

spring:

#DataSogcDvtWEGurce数据

datasource:

url: jdbc:mhttp://ysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp

username: root

password: root

driver-class-name: com.mysql.jdbc.Driver

#MyBatis配置

mybatis:

type-aliases-package: com.hl.mybatis.pojo #别名定义

configuration:

log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #指定 MyBatis 所用日志的具体实现,未指定时将自动查找

map-underscore-to-camel-case: true #开启自动驼峰命名规则(camel case)映射

lazy-loading-enabled: true #开启延时加载开关

aggressive-lazy-loading: false #将积极加载改为消极加载(即按需加载),默认值就是false

lazy-load-trigger-methohttp://ds: "" #阻挡不相干的操作触发,实现懒加载

cache-enabled: true #打开全局缓存开关(二级环境),默认值就是true

2.sql

@Update({""})

int updateBatch(@Param("list")List userInfoList);

3.测试

查看控制台错误

发现这里告诉我有一个语法错误,然后发现user_id,有一个符号。>

这里经过测试更新一条是成功的

二、问题分析

Mybatis映射文件中的sql语句默认是不支持以" ; " 结尾的,也就是不支持多条sql语句的执行

但是在SQL编辑器中执行多条sql语句的时候是可以以分号结尾的,如:

三、解决方法

在application.properties配置文中的数据源url后面添加一个参数

&allowMultiQueries=true【允许sql语句中有多个insert或者update语句 == 支持sql批量操作】

原来的配置文件:

url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp

现在的配置文件

url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp&http://&allowMultiQueries=true

再次测试

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用directx的vmr9抓图(jpg)
下一篇:一个基于vue-element-admin,以vortex-pc为UI框架的demo
相关文章

 发表评论

暂时没有评论,来抢沙发吧~