Skip to content

新增/批量新增,重复时忽略或修改

数据库重复时忽略重复时修改
mysql支持支持
mariadb支持支持
oracle支持NO
H2支持支持
postgres支持支持
kingbase支持支持
sqlite支持支持
opengauss支持支持

单个新增(忽略/修改)

java
public void test() {


    MultiPk entity = new MultiPk();
    entity.setId1(1);
    entity.setId2(2);
    entity.setName("12");
    
    mapper.save(entity, strategy -> {
         //忽略
        strategy.onConflict(action -> action.doNothing());
        //或者覆盖
        strategy.onConflict(action -> action.doUpdate(update -> update.overwriteAll()));
    });
}

多个新增(忽略/修改)

java
import java.util.ArrayList;

public void test() {


    MultiPk entity = new MultiPk();
    entity.setId1(1);
    entity.setId2(2);
    entity.setName("12");
    List<MultiPk> list = new ArrayList<>();
    list.add(entity);
    
    mapper.save(list, strategy -> {
        //忽略
        strategy.onConflict(action -> action.doNothing());
        //或者覆盖
        strategy.onConflict(action -> action.doUpdate(update -> update.overwriteAll()));
    });
}

批量新增(忽略/修改)

java
import java.util.ArrayList;

public void test() {


    MultiPk entity = new MultiPk();
    entity.setId1(1);
    entity.setId2(2);
    entity.setName("12");
    List<MultiPk> list = new ArrayList<>();
    list.add(entity);
    
    mapper.saveBatch(list, strategy -> {
        //忽略
        strategy.onConflict(action -> action.doNothing());
        //或者覆盖
        strategy.onConflict(action -> action.doUpdate(update -> update.overwriteAll()));
    });
}