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