我需要做一些看似简单的映射的事情,但我仍然无法管理如何做到这一点。 我需要做的是将第一个类的firstName + lastName映射到第二个类的名称。
这样的事情:
class Person {
String firstName;
String lastName;
}
class PrintablePerson {
String name; // name should be firstName+" "+(lastName)
}
这是实现这个目标的最好方法吗?
更新:
我已经通过实现我自己的Mapper解决了这个问题:
public class MyCustomMapper extends CustomMapper<Person, PrintablePerson> {
@Override
public void mapAtoB(Person person, PrintablePerson printablePerson, MappingContext context) {
printablePerson.setName(person.getFirstName() + " " + person.getLastName());
}
}
然后我使用:
在customize方法中调用mappermapperFactory.classMap(Person.class, PrintablePerson.class)
.byDefault()
.customize(
new MyCustomMapper()
).register();
答案 0 :(得分:3)
查看Customizing individual ClassMaps
mapperFactory.classMap(Person.class, PrintablePerson.class)
.byDefault()
.customize(
new CustomMapper<Person, PrintablePerson>() {
public void mapAtoB(Person a, PrintablePerson b, MappingContext context) {
// add your custom mapping code here
b.setName(a.getFirstName() + " " + a.getLastName());
}
})
.register();