Mybatis-plus批量去重插入ON DUPLICATE key update使用方式
1.添加唯一索引
【用來判斷數(shù)據(jù)庫是否有重復(fù)的標志】
這里的唯一索引可以是多個字段,也可以是唯一字段,這里我用name和password作為唯一標識
2.同時表對應(yīng)的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>
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
javaweb 國際化:DateFormat,NumberFormat,MessageFormat,ResourceBu
本文主要介紹javaWEB國際化的知識,這里整理了詳細的資料及實現(xiàn)代碼,有興趣的小伙伴可以參考下2016-09-09Java網(wǎng)絡(luò)編程之簡單的服務(wù)端客戶端應(yīng)用實例
這篇文章主要介紹了Java網(wǎng)絡(luò)編程之簡單的服務(wù)端客戶端應(yīng)用,以實例形式較為詳細的分析了java網(wǎng)絡(luò)編程的原理與服務(wù)器端客戶端的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04springboot如何使用assembly打包項目和啟動腳本
這篇文章主要介紹了springboot如何使用assembly打包項目和啟動腳本問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06SpringBoot中項目如何讀取外置logback配置文件
這篇文章主要介紹了SpringBoot中項目如何讀取外置logback配置文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Java實現(xiàn)二叉樹的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法示例
這篇文章主要介紹了Java實現(xiàn)二叉樹的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法,結(jié)合實例形式詳細分析了二叉樹的定義、深度優(yōu)先遍歷與廣度優(yōu)先遍歷算法原理與相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下2018-04-04Spring Boot 中application.yml與bootstrap.yml的區(qū)別
其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,二選一的存在。這篇文章給大家介紹了Spring Boot 中application.yml與bootstrap.yml的區(qū)別,感興趣的朋友一起看看吧2018-04-04