Mybatis批量插入数据 -- 校验唯一索引

Mybatis批量插入数据 -- 校验唯一索引

  • 1. 单条插入
  • 2. 批量插入同时校验唯一性

1. 单条插入

(1)未校验唯一索引:抛出违反唯一索引异常。
(2)单条校验唯一性后插入:频繁连接数据库,性能低

2. 批量插入同时校验唯一性

(1)JDBC配置
支持批量操作,数据库连接地址增加:&allowMultiQueries=true

jdbc:mysql://ip:port/dataresource?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

(2)xml文件
批量插入数据时:
(1)使用ignore关键字,监测表中主键或者unique索引,自动跳过重复数据,插入未重复数据。
(2)使用replace关键字,监测表中主键或者unique索引,删除重复数据后新增,并插入未重复数据。

<insert id="insertBatch" parameterType="java.util.List">
    insert ignore into table_a (column_a, column_b, column_c)
    values
    <foreach collection="list" item="item" index="index" separator=",">
    	(#{item.column_a}, #{item.column_b}, #{item.column_c})
    </foreach>
</insert>

你可能感兴趣的:(程序媛)