我正在尝试映射这个对象
public class Source {
private String value1;
private String value2;
private String value3;
}
Run Code Online (Sandbox Code Playgroud)
进入这个对象
public class Target {
private String targetValue1;
private String targetValue2;
private String targetValue3;
}
Run Code Online (Sandbox Code Playgroud)
这是映射器的定义。
@Mapper
public interface SourceMapper {
void toTarget(Source source, @MappingTarget Target target);
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的目标是仅当字段source为时才将target字段映射到。例如,仅映射到when is 。如果不是,则忽略该字段的映射。targetnullsource.value1target.targetValue1target.targetValue1nullnull
是否可以使用 MapStruct 而无需编写自定义代码?
编辑
我更改了 的字段名称,Target以明确 的名称Target可能/可能不匹配 中的字段名称Source。
我不认为这可以用mapstruct 来完成。如果您仍然想使用mapstruct,您可以忽略可能为空的目标变量,并在设置目标变量时@Mapping (target =" propName ", ignore = true)自行决定使用方法。@AfterMapping
| 归档时间: |
|
| 查看次数: |
8915 次 |
| 最近记录: |