我得到以下情况:
源类:
public class OutcodeStats {
double avgPrice;
double avgPricePsf;
double avgRent;
double avgYield;
double growth1y;
double growth3y;
double growth5y;
String outcode;
int salesPerMonth;
int turnover;
long effectiveDate;
}
public class GrowthStats {
public String status;
public String postcode;
public String postcode_type;
public String url;
public List<List<Object>> data;
public String process_time;
}
@Mapper
public interface OutcodeStatsMapper {
OutcodeStatsMapper INSTANCE = Mappers.getMapper(OutcodeStatsMapper.class);
@Mapping(source="outcode", target = "postcode")
@Mapping(source = "growth1y", target = "data")
@Mapping(source = "growth3y", target = "data")
@Mapping(source = "growth5y", target = "data")
GrowthStats outcodeStatsToGrowthStats(OutCodeStats stats);
}
"outcode":"BR1",
"avg_price":436061.3,
"avg_price_psf":0,
"avg_rent":295.2,
"avg_yield":"3.5%",
"growth_1y":"5.6%",
"growth_3y":"6.3%",
"growth_5y":"17.9%",
"sales_per_month":28,
"turnover":"4%"
"status":"success",
"postcode":"BR1",
"postcode_type":"outcode",
"url":"https:\/\/propertydata.co.uk\/draw?input=BR1",
"data":[
[
null,
null,
"3.5"
],
[
null,
null,
"5.6"
],
[
null,
null,
"6.3"
]
],
"process_time":"0.26"
这里是我让它工作的方式:
@Mapper
public interface OutcodeStatsMapper {
OutcodeStatsMapper INSTANCE = Mappers.getMapper(OutcodeStatsMapper.class);
@Mapping(source = "outcode", target = "postcode")
GrowthStats outcodeStatsToGrowthStats(OutCodeStats stats);
@AfterMapping
default void fillData(OutCodeStats outCodeStats, @MappingTarget GrowthStats growthStats) {
growthStats.status = "success";
growthStats.postcode_type= "outcode";
growthStats.data = new ArrayList<>();
Stream.of(outCodeStats.growth1y, outCodeStats.growth3y, outCodeStats.growth5y)
.forEach(yearStats -> growthStats.data.add(List.of("null", "null", yearStats)));
}
}
我有一个关于mapstruct中@ManyToOne映射的问题。我有两个表 第一个: 第二个是: 我有一个这样的箱子: 和MemberDto作为实体相同。 我需要使用mapstruct进行如下映射: 我需要填写名单成员;但我不明白怎么做。
假设我需要将两个对象映射成一个或一个对象映射成一个(重载)。我可以通过以下映射来实现: 是否有一种方法可以更改第二个映射器“先做第一个映射器”,然后应用的附加映射?
我使用mapstruct将我的DTO映射到它对应的实体。 DTO 包含一个哈希映射变量,其条目应映射到特殊哈希映射实体的键和值变量。这就是为什么我用一个额外的方法描述这个映射,如下所示: 这工作正常。我遇到的唯一问题是我不想映射哈希映射的所有条目。我只想映射条目,其键包含在列表。虽然可以从 构造此,但此变量不是 dto 的一部分。我想知道如何执行我的映射。 我的问题是: 是否可以在此接口内计算此,
我可以想象这样一个解决方案:一个子映射器,在这个映射器中,我用如下所示的查找重写Dto to Domain方法: 但目标在MapStruct中是必需的。也许我可以以某种方式指定整个对象作为目标?
我把这三门课分别放在不同的文件中 我有下面的映射器 这目前仅映射lastName并起作用,我想将Book中的作者字符串映射为 我怎么能这么做?我在MapStruct文档中找不到任何东西。
我有两种将实体映射到域的方法。 当我试图定义实体列表到域的映射方法时,我发现了用于映射集合元素的模糊映射方法。 有没有一种方法可以定义用于映射对象集合的方法