郑州做商城网站,郑州市公司网站开发设计,网站文件夹没有权限设置,帝国转wordpress程序目前#xff0c;MapStruct不支持具有多个源属性的映射方法。但是#xff0c;在您的情况下#xff0c;您可以使用1.2.0中的Context 。 根据我的理解#xff0c; projId和code就像映射的帮助器一样#xff0c;它们不用于映射目标属性。所以你可以做一些事情(它应该在理论上起…目前MapStruct不支持具有多个源属性的映射方法。但是在您的情况下您可以使用1.2.0中的Context 。 根据我的理解 projId和code就像映射的帮助器一样它们不用于映射目标属性。所以你可以做一些事情(它应该在理论上起作用)Mapperpublic interface OneMapper {Mapping(targetid, sourceone.id)Mapping(targetqualified, qualifiedByNamecheckQualifiedNamed)OneDto createOne (One one, Context Integer projId, Context String code);Named(checkQualifiedNamed)default Boolean checkQualified (One one, Context Integer projId, Context String code) {if(one.getProjectId() projId one.getCode().equalsIgnoreCase(code)) {return Boolean.TRUE;}return Boolean.FALSE;}}另一种方法是将所有这些属性提取到一个单独的类中并传递它(这将允许多个相同类型的参数)。该课程如下public class Filter {private final Integer projId;private final Integer val;private final String code;public Filter (Integer projId, Integer val, String code) {this.projId projId;this.val val;this.code code;}//getters}您的映射器将如下所示Mapperpublic interface OneMapper {Mapping(targetid, sourceone.id)Mapping(targetqualified, qualifiedByNamecheckQualifiedNamed)OneDto createOne (One one, Context Filter filter);Named(checkQualifiedNamed)default Boolean checkQualified (One one, Context Filter filter) {if(one.getProjectId() filter.getProjId() one.getVal() filter.getVal() one.getCode().equalsIgnoreCase(filter.getCode())) {return Boolean.TRUE;}return Boolean.FALSE;}}然后您可以调用mapper如 mapper.createOne(one, new Filter(projId, val, code));