Mybatisplus natif ne prend en charge qu'une seule clé primaire, mpp prend en charge plusieurs champs pour ajouter, supprimer, modifier et vérifier la clé primaire combinée de plusieurs champs. Le mappeur doit hériter des champs de la clé primaire combinée dans la classe d'entité MppBaseMapper, qui doit être modifiée avec les annotations @MppMultiId
Utilisez @MppMultiId sur les variables de membre de classe d'instance pour indiquer la clé primaire combinée
@TableName("test07")
public class Test07Entity {
@MppMultiId
@TableField(value = "k1")
private Integer k1;
@MppMultiId
@TableField(value = "k2")
private String k2;
@TableField(value = "col1")
private String col1;
@TableField(value = "col2")
private String col2;
mapper需要继承MppBaseMapper
@Mapper
public interface Test07Mapper extends MppBaseMapper<Test07Entity> {
}
根据多主键增删改查
public void testMultiId(){
//id
Test07Entity idEntity=new Test07Entity();
idEntity.setK1(1);
idEntity.setK2("111");
//del
test07Mapper.deleteByMultiId(idEntity);
//add
test07Mapper.insert(idEntity);
//query
Test07Entity retEntity=test07Mapper.selectByMultiId(idEntity);
retEntity.setCol1("xxxx");
//update
test07Mapper.updateByMultiId(retEntity);
}