簡體   English   中英

如何在 Java 中使用 MapStruct 將字符串轉換為日期?

[英]How to Convert String to Date using MapStruct in Java?

我正在使用 MapStruct 將值從源映射到目標類。 源類具有 String 屬性,目標類具有 java.util.Date 屬性。 源屬性是這樣的:“yyyy-mm-dd”。 我想將此 String 屬性轉換為 Date 屬性。 如何使用 MapStruct 做到這一點? 謝謝!

MapStruct 會自動處理StringDate的轉換。 如果您需要指定日期的格式,您可以這樣做:

@Mapping(target = "date", dateFormat = "yyyy-MM-dd")
Destination map(Source source);

其中target = "date"是您的財產的名稱。 您可以在MapStruct 文檔中找到更多相關信息。

從官方指南,如果你有多個日期,你可以使用這個:

public class DateMapper {

    public String asString(Date date) {
        return date != null ? new SimpleDateFormat( "yyyy-MM-dd" )
            .format( date ) : null;
    }

    public Date asDate(String date) {
        try {
            return date != null ? new SimpleDateFormat( "yyyy-MM-dd" )
                .parse( date ) : null;
        }
        catch ( ParseException e ) {
            throw new RuntimeException( e );
        }
    }
}

在你的映射器之后:

@Mapper(uses=DateMapper.class)
public interface CarMapper {

    CarDto carToCarDto(Car car);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM