MyBatis支持多条SQL批量执行

一、MySQL

1、方式1


    <insert id="batchAdd" parameterType="pojo.Employee">
        INSERT INTO employee (id,name,sex) VALUES
        <foreach collection="emps" item="emp" separator=",">
            (#{emp.id},#{emp.name},#{emp.sex})
        </foreach>
    </insert>

2、方式2

<insert id="batchAdd" parameterType="pojo.Employee">
    <foreach collection="emps" item="emp" separator=";">
        INSERT INTO employee (id,name,sex) VALUES (#{emp.id},#{emp.name},#{emp.sex})
    </foreach>
</insert>

但要配置 allowMultiQueries 参数为 true

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://127.0.0.1:3306/dual?characterEncoding=UTF-8&useUnicode=true&serverTimezone=UTC&autoReconnect=true&allowMultiQueries=true
mysql.user=root
mysql.pwd=123456

二、Oralce

1、方式1

BEGIN

      INSERT INTO employee (id,name,sex) VALUES (1,'张三',1);

      INSERT INTO employee (id,name,sex) VALUES (2,'李四',0);

END;

2、方式2

INSERT INTO employee (id,name,sex)

      SELECT id,name,sex FROM (

            SELECT 1 AS id, '张三' AS name, 1 AS sex FROM dual

            UNION

            SELECT 2 AS id, '李四' AS name, 0 AS sex FROM dual

      )

;

猜你喜欢

转载自blog.csdn.net/MAOZEXIJR/article/details/81538865