新增/批量新增,重复时忽略或修改 
| 数据库 | 重复时忽略 | 重复时修改 | 
|---|---|---|
| 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()));
    });
}