我试图使用http://modelmapper.org/表示DAO和模型类的库-
模型类-
public class PageModel<T> {
@JsonProperty("items")
private List<T> items;
@JsonProperty("meta")
private MetaModel meta;
public PageModel() {
}
public PageModel(int current, int limit) {
this.items = new ArrayList<>();
this.meta = new MetaModel(current, limit);
}
@JsonProperty("items")
public List<T> getItems() {
return items;
}
@JsonProperty("items")
public void setItems(List<T> items) {
this.items = items;
}
@JsonProperty("meta")
public MetaModel getMeta() {
return meta;
}
@JsonProperty("meta")
public void setMeta(MetaModel meta) {
this.meta = meta;
}
}
public class MetaModel {
@JsonProperty("total")
private Integer total;
public MetaModel() {
}
public MetaModel(int page, int limit) {
this.page = new PageMetaModel(page, limit);
}
@JsonProperty("total")
public Integer getTotal() {
return total;
}
@JsonProperty("total")
public void setTotal(Integer total) {
this.total = total;
}
}
public class SubjectModel {
private String name;
private StatusModel status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public StatusModel getStatus() {
return status;
}
public void setStatus(StatusModel status) {
this.status = status;
}
}
道类-
public class Page<T> {
private List<T> items;
private int count;
public Page(List<T> items, int count) {
if(items == null)
throw new IllegalArgumentException("items can not be null");
this.items = items;
this.count = count;
}
public List<T> getItems() {
return items;
}
public void setItems(List<T> items) {
if(items == null)
throw new IllegalArgumentException("items can not be null");
this.items = items;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
公共类主题{私有字符串名称;
private Integer passCount;
private Integer failCount;
public Subject(String name, Integer passCount, Integer failCount) {
this.name = name;
this.passCount = passCount;
this.failCount = failCount;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPassCount() {
return passCount;
}
public void setPassCount(Integer passCount) {
this.passCount = passCount;
}
public Integer getFailCount() {
return failCount;
}
public void setFailCount(Integer failCount) {
this.failCount = failCount;
}
}
映射逻辑
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration()
.setMatchingStrategy(MatchingStrategies.STRICT);
modelMapper.addMappings(new PropertyMap<Page<?>, PageModel<?>>() {
@Override
protected void configure() {
map().getMeta().setTotal(source.getCount());
}
});
modelMapper.addMappings(new PropertyMap<Subject, SubjectModel>() {
@Override
protected void configure() {
map().getStatus().setPassCount(source.getPassCount());
map().getStatus().setFailCount(source.getFailCount());
}
});
List<Subject> subjects = new ArrayList<>();
subjects.add(new Subject("Subject A", 10, 20));
subjects.add(new Subject("Subject B", 8, 7));
Page<Subject> page = new Page<>(subjects, 10);
Type pageType = new TypeToken<PageModel<SubjectModel>>() {}.getType();
PageModel<SubjectModel> pageModel = modelMapper.map(page, pageType);
ModelMapper似乎不起作用,它给我pageModel
提供了主题类项目,而不是主题模型类项目
我对这个问题有一个解决方案:模型映射器#380,并将在本周末发布。请看看这是否解决了您的问题。谢谢。
在对这个话题进行了大量的测试和研究之后,我无法完全解决我的问题。我正在springboot应用程序中使用modelmapper进行实体/DTO映射。我正在尝试配置modelmapper,将一个集合映射到一个简单的DTO对象。我已经创建了一个自定义转换器,它正在按预期工作: 我现在的问题是将此转换器应用于所有“集合”= 如果我直接在模型映射器中添加转换器,它就是不工作。 你对此有什么提示或解决办法吗
我正在开发和spring应用程序,对于对象映射,我使用ModelMapper库。 我能够映射基本类映射,但当我尝试映射2个集合元素时,源是一组枚举,具有其他属性,如名称和描述,目标是具有id、名称和描述的pojo。 我已经尝试了类型地图和转换器在映射配置文件,但我得到例外的映射器。 源类来自其他应用程序(其依赖项已在pom.xml中添加)。我也不希望源类型作为目标setter中的参数。 前。 资料
当我尝试通过枚举将源中的字符串映射到目标中的整数时。ModelMapper失败。 来源 目的地 字符串和整数之间的映射在枚举中定义
我想将泛型类型<code>Y</code>的对象映射到另一个泛型类型为<code>X</code>的对象。在mapstruct中有这样的功能吗?或者我必须为通用映射编写自定义映射器吗?当我编译上面的代码时,会出现编译错误。
我有很多实体扩展了实体,也有很多数据扩展到 我有一个通用的存储库、服务和映射器,如下所示 我的仓库: 我的服务: 我的地图绘制者: 我想在方法中从T创建一个对象,在类中从方法中从Dto创建一个对象
问题内容: 我需要将obj 映射到一个类及其中的数组,并且它也应该具有所有子级数据。(也嵌套数组列表),我需要再次将更新的数据列表转换为 我的json字符串是 问题答案: 首先, 您需要创建要在其中映射JSON的类。 幸运的是,有一个网站,可以为你做它在这里 其次,您可以使用Google Gson库进行轻松映射 1.添加 依赖项 。 2.从您的对象到JSON。 3.从JSON到object。 有关