[JAVA] Bean-Mapping mit MapStruct Teil 1

Verwenden Sie MapStruct 1.1.0

Weitere Informationen zu MapStruct finden Sie auf der offiziellen Website http://mapstruct.org/

Zuordnung zwischen Bohnen mit demselben Feld

Bean


public class ProfileForm {
    private String name;
    private int age;
    private String location;

    // constructor/getter/setter
}

public class Profile {
    private String name;
    private int age;
    private String location;

    // constructor/getter/setter
}

Erstellen eines Mappers

@Mapper
public interface ProfileMapper {
    ProfileMapper INSTANCE = Mappers.getMapper(ProfileMapper.class);

    public Profile profileFormToProfile(ProfileForm form);
}

Lauf

ProfileForm form = new ProfileForm("Michael Scofield", 30, "vereinigte Staaten von Amerika");
Profile profile = ProfileMapper.INSTANCE.profileFormToProfile(form);

System.out.println(profile.getName()); //Michael Scofield
System.out.println(profile.getAge());  // 30
System.out.println(profile.getLocation()); //vereinigte Staaten von Amerika

Schließen Sie einen Teil des Felds von der Zuordnung aus

Verwenden Sie die Annotation "@ Mapping", um einige Felder von der Zuordnung auszuschließen. Setzen Sie das Zielattribut so, dass Felder ausgeschlossen werden, und das Ignorierattribut auf "true".

@Mapper
public interface ProfileMapper {
    ProfileMapper INSTANCE = Mappers.getMapper(ProfileMapper.class);

    @Mapping(target = "name", ignore = true)
    public Profile profileFormToProfile(ProfileForm form);
}

Zuordnung von Liste zu Liste

Mapper Fix

@Mapper
public interface ProfileMapper {
    ProfileMapper INSTANCE = Mappers.getMapper(ProfileMapper.class);

    public Profile profileFormToProfile(ProfileForm form);
    //hinzufügen
    public List<Profile> profileFormToProfile(List<ProfileForm> forms);
}

Lauf

List<ProfileForm> forms = Arrays.asList(new ProfileForm("Michael Scofield", 30, "vereinigte Staaten von Amerika")
                                      , new ProfileForm("Lincoln Burrows", 34, "vereinigte Staaten von Amerika"));
List<Profile> profiles = ProfileMapper.INSTANCE.profileFormToProfile(forms);

System.out.println(profiles.get(1).getName()); //Lincoln Burrows
System.out.println(profiles.get(1).getAge());  // 34
System.out.println(profiles.get(1).getLocation()); //vereinigte Staaten von Amerika

Zuordnung zwischen Bohnen mit verschiedenen Feldern

Bean


public class Foo {
    private String foo1;
    private String foo2;

    // constructor/getter/setter
}

public class Bar {
    private String bar1;
    private String bar2;

    // constructor/getter/setter
}

Erstellen eines Mappers


@Mapper
public interface FooBarMapper {
    FooBarMapper INSTANCE = Mappers.getMapper(FooBarMapper.class);

    @Mapping(target = "bar1", source = "foo1")
    @Mapping(target = "bar2", source = "foo2")
    public Bar fooToBar(Foo foo);
}

Geben Sie das zuzuordnende Feld (Ziel) und das zuzuordnende Feld (Quelle) mit der Annotation "@ Mapping" an.

Lauf

Foo foo = new Foo("AIUEO", "Kakikukeko");
Bar bar = FooBarMapper.INSTANCE.fooToBar(foo);

System.out.println(bar.getBar1()); //AIUEO
System.out.println(bar.getBar2()); //Kakikukeko

Es gibt andere Funktionen für die Zuordnung, diese werden jedoch beim nächsten Mal verfügbar sein.

Recommended Posts

Bean-Mapping mit MapStruct Teil 1
Bean-Mapping mit MapStruct Teil 3
Bean-Mapping mit MapStruct Teil 2
Führen Sie das Bean-Mapping mit MapStruct mit hoher Geschwindigkeit durch
SaveAsBinaryFile mit Spark (Teil 2)
Bean-Kopie mit MapStruct
Verwenden Sie die schnelle Mapping-Bibliothek MapStruct mit Lombok und Java 11
Java mit Ramen lernen [Teil 1]
REST-API-Test mit REST Assured Part 2
Bean-Mapping nützlich in Java ModelMapper
Bean Validation mit Micronaut (Java) hinzufügen
Einfache Eingabeprüfung mit Bean Validation!
Serververarbeitung mit Java (Einführung Teil.1)
Wiedereinführung in Betreiber mit RxJava Teil 1