第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在模型映射器中跳過(guò)目標(biāo)源中的屬性?

如何在模型映射器中跳過(guò)目標(biāo)源中的屬性?

慕田峪7331174 2024-01-05 11:01:38
我有兩節(jié)課。請(qǐng)求DTO和實(shí)體。我想將 RequestDTO 映射到實(shí)體。在這種情況下,我想手動(dòng)插入實(shí)體屬性之一,這意味著該屬性不在請(qǐng)求 DTO 中。如何使用 modelmapper 來(lái)實(shí)現(xiàn)這一點(diǎn)。public class RequestDTO {    private String priceType;    private String batchType;}public class Entity {    private long id;    private String priceType;    private String batchType;}Entity newEntity = modelMapper.map(requestDto, Entity.class);但這不起作用,它說(shuō)它不能將字符串轉(zhuǎn)換為長(zhǎng)整型。我請(qǐng)求對(duì)此的解決方案或更好的方法。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果您想手動(dòng)執(zhí)行映射(特別適合不同的對(duì)象)

您可以查看不同對(duì)象映射屬性映射的文檔,

您可以通過(guò)使用方法引用來(lái)匹配源 getter 和目標(biāo) setter 來(lái)定義屬性映射。

typeMap.addMapping(Source::getFirstName,?Destination::setName);

源類(lèi)型和目標(biāo)類(lèi)型不需要匹配。

?typeMap.addMapping(Source::getAge,?Destination::setAgeString);

如果您不想逐個(gè)字段進(jìn)行映射以避免樣板代碼

您可以配置跳過(guò)映射器,以避免將某些字段映射到目標(biāo)模型:

modelMapper.addMappings(mapper?->?mapper.skip(Entity::setId));

我已經(jīng)為您的案例創(chuàng)建了一個(gè)測(cè)試,映射適用于雙方,無(wú)需配置任何內(nèi)容

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

import org.junit.Before;

import org.junit.Test;

import org.modelmapper.ModelMapper;


import static junit.framework.TestCase.assertEquals;

import static junit.framework.TestCase.assertNotNull;


public class ModelMapperTest {


? ? private ModelMapper modelMapper;


? ? @Before

? ? public void beforeTest() {

? ? ? ? this.modelMapper = new ModelMapper();

? ? }


? ? @Test

? ? public void fromSourceToDestination() {

? ? ? ? Source source = new Source(1L, "Hello");

? ? ? ? Destination destination = modelMapper.map(source, Destination.class);

? ? ? ? assertNotNull(destination);

? ? ? ? assertEquals("Hello", destination.getName());

? ? }


? ? @Test

? ? public void fromDestinationToSource() {

? ? ? ? Destination destination = new Destination("olleH");

? ? ? ? Source source = modelMapper.map(destination, Source.class);

? ? ? ? assertNotNull(source);

? ? ? ? assertEquals("olleH", destination.getName());

? ? }

}


@Data

@NoArgsConstructor

@AllArgsConstructor

class Source {

? ? private Long id;

? ? private String name;

}


@Data

@NoArgsConstructor

@AllArgsConstructor

class Destination {

? ? private String name;

}


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 1 回答
  • 0 關(guān)注
  • 205 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)