解决mybatis批量更新出现SQL报错问题
一、问题重现
1.配置文件
spring:#DataSource数据源datasource:url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&username: rootpassword: rootdriver-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 #将积极加载改为消极加载(即按需加载),默认值就是falselazy-load-trigger-methods: "" #阻挡不相干的操作触发,实现懒加载cache-enabled: true #打开全局缓存开关(二级环境),默认值就是true
2.sql
@Update({""})int updateBatch(@Param("list")ListuserInfoList);
3.测试
查看控制台错误
文章图片
发现这里告诉我有一个语法错误,然后发现user_id,有一个符号。>
这里经过测试更新一条是成功的
文章图片
二、问题分析 Mybatis映射文件中的sql语句默认是不支持以" ; " 结尾的,也就是不支持多条sql语句的执行
文章图片
但是在SQL编辑器中执行多条sql语句的时候是可以以分号结尾的,如:
文章图片
三、解决方法 在application.properties配置文中的数据源url后面添加一个参数
【解决mybatis批量更新出现SQL报错问题】&allowMultiQueries=true【允许sql语句中有多个insert或者update语句 == 支持sql批量操作】
原来的配置文件:
url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&
现在的配置文件
url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&&&allowMultiQueries=true
再次测试
文章图片
到此这篇关于mybatis批量更新出现SQL报错的文章就介绍到这了,更多相关mybatis批量更新出现SQL报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Java毕业设计项目实战篇|Java项目:(小程序)物业管理系统(spring+spring mvc+mybatis+layui+微信小程)
- 如何批量删除word中插入的图片
- Docker下mongodb容器查询数据量超过限制的解决办法
- 解决htmls2canvas文字变小
- Jetty报错解决方法
- parallels|parallels desktop 解决网络初始化失败问题
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式