loading

Mybatis foreach 一次性插入多条 insert 报错,需数据库开启 allowMultiQueries

Mybatis foreach 多条插入语句提示 SQL 代码错误,但是一条插入语句可以。问题由以下两个点导致:

  1. 多条语句后面需要跟上 ;,单条语句可以不用加。
  2. 数据库连接 URL 没有添加 allowMultiQueries=true

INSERT 语句结束处添加 ;

file:[resources/mappers/OrderMapper.xml]
<insert id="insert">
    <foreach collection="list" item="item">
        INSERT INTO orders(name, num)
        VALUES (#{name}, #{num});
    </foreach>
</insert>

在数据库连接 URL 添加参数 allowMultiQueries=true

file:[src/application.yml]
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/database?allowMultiQueries=true
posted @ 2023-06-03 01:43  Himmelbleu  阅读(9)  评论(0编辑  收藏  举报