java prettyprint-override">public class PersonVo {
private String firstName;
private String lastName;
}
private class PersonEntity {
private String fullName;
}
@Mapper
public interface PersonMapper {
@Mapping(target = "fullName", source = {"firstName", "lastName"}, qualifiedByName="toFullName")
PersonEntity toEntity(PersonVo person);
@Named("toFullName")
String translateToFullName(String firstName, String lastName) {
return firstName + lastName;
}
}
“想要解决方案B”
@Mapper
public interface PersonMapper {
@Mapping(target = "fullName", source = PersonVo.class, qualifiedByName="toFullName")
PersonEntity toEntity(PersonVo person);
@Named("toFullName")
String translateToFullName(PersonVo pserson) {
return pserson.getFirstName() + pserson.getLastName();
}
}
有什么办法可以做到这一点吗?
以下是我的答案。
@Mapper
public interface PersonMapper {
@Mapping(target = "fullName", source = ".", qualifiedByName="toFullName")
PersonEntity toEntity(PersonVo person);
@Named("toFullName")
String translateToFullName(PersonVo pserson) {
return pserson.getFirstName() + pserson.getLastName();
}
}
要点是
@mapping(target=“fullname”,source=“.”,qualifiedbyname=“tofullname”)
我提到了用Mapstruct将多个源字段映射到同一类型目标字段的问题,但这没有帮助 我的rest资源类如下所示 我的实体类是源代码,如下所示: 我想在mapper类中用emailAdddress或devices或mobileNumbers映射源类中的地址,我尝试在mapper类中使用@AfterMapping和一个decorator类,但它没有帮助。 我有一个像这样的映射器类
我把这三门课分别放在不同的文件中 我有下面的映射器 这目前仅映射lastName并起作用,我想将Book中的作者字符串映射为 我怎么能这么做?我在MapStruct文档中找不到任何东西。
考虑以下POJO: 使用MapSTRt,我创建了一个映射器,将映射到。由于“业务”“逻辑”,我需要将和约束为的和字段值。这是我使用另一个类得出的结论: 有没有其他方法可以实现这一点(即另一种映射器、装饰器等)?如何将多个值(xml附表、讲座)传递给映射器?
我需要将源类中的字段值映射到字段属性。我可以使用Mapstruct使用@mapper注释的'expression'参数来完成 有没有其他方法可以不使用“表达式”来进行映射?
下面是我想尝试使用java收集器编写的代码。 给定一个人的2个属性(firstname和lastname),我想获得一个包含唯一的firstname或lastname作为键的地图,以及相应的人的列表。 和填充映射的代码: 我不知道如何将firstname或lastname作为键(不像Java8中的Group by multiple field names)。我一定要写我自己的收藏家吗?
“”“@Data@Builder(toBuilder=true)@allargsconstuctor@noargsconstuctor public class ServiceAddress{private String addLine1;private String addLine2;private String city;private String state;private String