SQL:mybatisPlus批量插入,重复时候更新
一、建表sql
CREATE TABLE IF NOT EXISTS `testTable` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`az_id` text NOT NULL COMMENT '',
`product` varchar(64) NOT NULL COMMENT '',
`gmt_create` datetime NOT NULL COMMENT '',
`gmt_modified` datetime NOT NULL COMMENT ',
PRIMARY KEY (`id`),
UNIQUE KEY `product` (product)
) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=utf8 COMMENT='测试表';
二、mybatisplus插入
@Options(useGeneratedKeys = true, keyColumn = "id")
@Insert("<script>"
+ "insert into `testTable`"
+ "(`az_id`, `product`, `gmt_create`, `gmt_modified`) "
+ "values "
+ "<foreach collection=\"list\" item=\"item\" separator=\",\">"
+ "(#{item.azId},#{item.product},now(),now())"
+ "</foreach>"
+ " on duplicate key update product=values(product),az_id=values(az_id),gmt_modified=now()"
+ "</script>")
Long batchInsert (@Param("list") List<OpsProductAzWhiteListDO> list);
说明:批量插入数据,product重复则更新