Mybatis foreach 多条插入语句提示 SQL 代码错误,但是一条插入语句可以

发布时间 2023-06-03 01:53:08作者: Himmelbleu

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

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

INSERT 语句结束处添加 ;

<insert id="insert">
    <foreach collection="list" item="item">
        INSERT INTO orders(name, num)
        VALUES (#{name}, #{num});
    </foreach>
</insert>

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

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/database?allowMultiQueries=true