首页 新闻 会员 周边 捐助

mapstruct对象转换

0
悬赏园豆:10 [待解决问题]

请问mapstruct可以实现图中那种转换吗? 源对象的某些属性转成目标对象的list集合属性

eason1314的主页 eason1314 | 初学一级 | 园豆:170
提问于:2022-04-24 12:25
< >
分享
所有回答(1)
0
wang_yb | 园豆:4891 (老鸟四级) | 2022-04-24 14:34

感谢!!!我用qualifiedByName实现了

@Mapping(target = "hobbyList", source = "personDTO", qualifiedByName = "toHobbyList")
  Person toPerson(PersonDTO personDTO);

  @Named("toHobbyList")
  default List<Hobby> toHobbyList(PersonDTO personDTO) {
    List<Hobby> list = new ArrayList<>();
    if (StringUtils.isNotEmpty(personDTO.getHobbyName1()) || StringUtils.isNotEmpty(personDTO.getDuration1())) {
      list.add(new Hobby(personDTO.getHobbyName1(), personDTO.getDuration1()));
    }
    if (StringUtils.isNotEmpty(personDTO.getHobbyName2()) || StringUtils.isNotEmpty(personDTO.getDuration2())) {
      list.add(new Hobby(personDTO.getHobbyName2(), personDTO.getDuration2()));
    }
    return list;
  }
支持(0) 反对(0) eason1314 | 园豆:170 (初学一级) | 2022-04-24 14:55

@eason1314: great!

支持(0) 反对(0) wang_yb | 园豆:4891 (老鸟四级) | 2022-04-24 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册