JinksPang
4/2/2018 - 5:59 AM

ModelMapper使用

ModelMapper使用

 ModelMapper modelMapper = new ModelMapper();
 modelMapper.addMappings(new PropertyMap<AnEntity, ADTO>() {
            protected void configure() {
                //属性名不一样,自己设置对应关系
                //source生成目标类,destination数据来源类,这两个单词可以理解成两个指针,代指类
                map().setText(source.getDescription());
                //不映射某些属性
                //属性是对象的可以如下
                skip().setDtoOnlyProperty(null);
                //属性非对象的
                skip(destination.getID());//可以对source中属性设置,也可以对destination的属性设置
            }
        });
 ADTO adto = modelMapper.map(entity, ADTO.class);

 modelMapper.typeMap(Opportunity.class,ProspectOut.class)
                .addMapping(Opportunity::getPhone,ProspectOut::setMobilePhone)
                .addMapping(Opportunity::getLevel,ProspectOut::setOppLevel)
                .addMapping(Opportunity::getStyleId,ProspectOut::setCarStyleId)
                .addMapping(opportunity->opportunity.getContact().getContactTwo(),ProspectOut::setOfficePhone)
                .addMapping(Opportunity::getStatus,ProspectOut::setPotentialCustomerStatus);