Mybatis-plus批量去重插入ON DUPLICATE key update使用方式
作者:军大君
这篇文章主要介绍了Mybatis-plus批量去重插入ON DUPLICATE key update使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1.添加唯一索引
【用来判断数据库是否有重复的标志】
这里的唯一索引可以是多个字段,也可以是唯一字段,这里我用name和password作为唯一标识
2.同时表对应的pojo类上字段也要加注解
@Data @TableName("admin") public class AdminEntity implements Serializable { private static final long serialVersionUID = 244947848024328503L; /** * 主键id */ @TableId(type = IdType.AUTO) private Long id; private String name; private String password; }
3.AdminMapper.java
public interface TestMapper extends SuperMapper<AdminEntity > { void saveAll(List<AdminEntity > list); }
4.AdminMapper.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.hxj.test.mapper.AdminMapper"> <insert id="saveAll"> insert into admin(name,password) values <foreach collection="list" item="item" separator=","> (#{item.name},#{item.password}) </foreach> ON DUPLICATE key update name=values(name), password=values(password) </insert> </mapper>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。