2016-05-10 44 views
5

どのようにしてStringをListとList to Stringにマッピングできますか?MapStructからListへのマッピング

たちはドーザーとオリカでclassess

class People{ 
    private String primaryEmailAddress; 
    private String secondaryEmailAddress; 
    private List<String> phones; 
    //getter and setters 
} 

class PeopleTO{ 
    private List<String> emailAddress; 
    private String primaryPhone; 
    private String secondaryPhone; 
    //getter and setters 
} 

を以下している考えてみましょう、我々は簡単にコード

私はMapStructにマッピングの同じ種類を行うことができますどのように
fields("primaryEmailAddress", "emailAddress[0]") 
fields("secondaryEmailAddress", "emailAddress[1]") 

fields("phones[0]", "primaryPhone") 
fields("phones[1]", "secondaryPhone") 

の次の行にマッピングすることができますか?私はどこでmapstructの例を見つけるのですか?

答えて

1

私はいくつかここに例を見ることができる:https://github.com/mapstruct/mapstruct-examples

チェックアウトあなたの特定の要件については、このモジュール(非反復処理可能に反復処理可能):https://github.com/mapstruct/mapstruct-examples/tree/master/mapstruct-iterable-to-non-iterable

、ここで別の1:それならばhttp://blog.goyello.com/2015/09/08/dont-get-lost-take-the-map-dto-survival-code/

わかりませんiterable以外のものをIterableにマップすることは可能です。

+0

マッピングをリストするのに1つの文字列が使用されていますが、同じフィールドをマップできない場合は、プライマリとセカンダリの電子メールアドレスを電子メールアドレスのリストにマップしたい – suresh

6

例は以下PeopleprimaryEmailAddresssecondaryEmailAddress特性にPeopleTOemailAddressリストから要素をマッピングします。

MapStructはコレクションに直接マップすることはできませんが、マッピングを実行してプロセスを完了するメソッドを実装できます。私はprimaryPhonesecondaryPhoneのプロパティーをPeopleTOphonesリストの要素にPeopleの要素にマッピングする方法を1つ使用しました。

関連する問題