我有一个类似的功能:
public HousesDTO mapHouses(Set<Home> roles) {
HousesDTO homes = new HousesDTO();
List<HouseDTO> dtos = new ArrayList<HouseDTO>();
for (Home home : homes) {
HouseDTO dto = new HouseDTO(home.getAddress(), home.getPrice());
dtos.add(dto);
}
homes.setAllHomes(dtos);
return homes;
}
return null;
}
如何使用Mapstruct做到这一点?
答案 0 :(得分:0)
如果您的HouseDTO
具有无参数的构造函数和值的设置器,则可以这样操作:
@Mapper
public interface HousesMapper {
default HousesDTO toHouses(Set<Home> homes) {
HousesDTO housesDTO = new HousesDTO();
housesDTO.setAllHomes(toHousesList(homes));
return housesDTO;
}
List<HouseDTO> toHousesList(Set<Home> homes);
}
如果HouseDTO
仅具有一个期望属性的构造函数,则剩下三个选项:
Home
映射到HouseDTO