我正在尝试将实体映射到我的DTO。就我所知,我正在尝试不同的方法。 我成功地使用了带有隐式映射的映射,也成功地使用了带有configure方法的PropertyMap时的显式映射。
现在,我正在尝试使用TypeMap显式映射。这是我无法上班的最后一个。
与Modelmapper入门一起,我以该线程中的答案为例,How to use Explicit Map with Java 8 and ModelMapper?
static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){
ModelMapper modelMapper = new ModelMapper();
TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);
typeMap.addMappings(mapping -> {
mapping.map(modelB.getId(), ResponseB::setId);
mapping.map(modelB.getBankaccountName(), ResponseB::setB);
mapping.map(modelB.isActive(), ResponseB::setActive);
});
return modelMapper.map(modelB, ResponseB.class);
}
上面的代码块是我的代码示例,不起作用。
如何使该示例与TypeMap一起使用?
答案 0 :(得分:0)
通过不断尝试,我自己弄清楚了。
我必须使用类而不是mapping.map中的对象
static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){
ModelMapper modelMapper = new ModelMapper();
TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);
typeMap.addMappings(mapping -> {
mapping.map(ModelB::getId, ResponseB::setId);
mapping.map(ModelB::getBankaccountName, ResponseB::setB);
mapping.map(ModelB::isActive, ResponseB::setActive);
});
return modelMapper.map(modelB, ResponseB.class);
}