亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在將 moddelmapper 與類型映射一起使用時,如何解決不兼容的類型

在將 moddelmapper 與類型映射一起使用時,如何解決不兼容的類型

慕田峪9158850 2022-12-15 11:15:05
我正在嘗試將我的實體映射到我的 DTO。對于我的知識,我正在嘗試不同的方法。我成功地使用了一個帶有隱式映射的映射,以及一個顯式映射,同時使用帶有配置方法的 PropertyMap?,F在我正在嘗試使用 TypeMap 進行顯式映射。最后一個我無法上班。連同 Modelmapper 入門,我使用了這個線程中的答案作為示例,How to use Explicit Map with Java 8 and ModelMapper?static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){    ModelMapper modelMapper = new ModelMapper();    TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);    typeMap.addMappings(mapping -> {        mapping.map(modelB.getId(), ResponseB::setId);        mapping.map(modelB.getBankaccountName(), ResponseB::setB);        mapping.map(modelB.isActive(), ResponseB::setActive);    });    return modelMapper.map(modelB, ResponseB.class);}上面的塊是我的代碼示例,它不起作用。使用 setId 我有錯誤:不兼容的類型:V 不可轉換為 Long。setB 有錯誤:類型不兼容:V 不可轉換為字符串。setActive 有錯誤:類型不兼容:V 不可轉換為布爾值。我怎樣才能讓這個例子與 TypeMap 一起工作?
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

通過不斷嘗試,我自己弄明白了。


我不得不使用類而不是 mapping.map 中的對象


static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){

    ModelMapper modelMapper = new ModelMapper();

    TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);


    typeMap.addMappings(mapping -> {

        mapping.map(ModelB::getId, ResponseB::setId);

        mapping.map(ModelB::getBankaccountName, ResponseB::setB);

        mapping.map(ModelB::isActive, ResponseB::setActive);

    });


    return modelMapper.map(modelB, ResponseB.class);

}


查看完整回答
反對 回復 2022-12-15
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號