Сопоставление объектов с помощью ModelMapper в прошлый раз
На этот раз будет использоваться MapStruct

Во-первых, давайте выясним разницу между двумя

ModelMapper против MapStruct

Когда обе функции используются для преобразования типа
Используется для преобразования одного объекта в другой тип объекта. Оба два

Объясните различия на основе MapStructure…

  1. MapStruct создает реализации, считывая аннотацию
    при компиляции (ModelMapper имеет отражение при отображении)
  2. MapStruct может проверять ошибки при компиляции
  3. Скорость обработки MapStruct значительно выше, чем у ModelMapper.

Из-за этих преимуществ я буду использовать MapStruct.

Давайте рассмотрим основные функции и различные стратегии картирования.

Параметры зависимости

Если вы используете Lombok, добавьте «lombok-mapstruct-bunding».

Теперь создайте картограф

UserMapper.java
@Mapper
public interface UserMapper{
    UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);
UserEntity userDTOToEntity(UserDTO userDTO);
    UserDTO userEntityToDTO(UserEntity userEntity);
}

Объявите его как интерфейс.
Имплантат будет автоматически создан в цели.

Если имена переменных DTO и Entity совпадают,
это сработает.

нужно сделать Builder в UserEntity

DTO и Entity имеют одинаковые переменные
Теперь используйте ту, которую вы сделали раньше

Наконец, давайте рассмотрим некоторые стратегии сопоставления
Они доступны в UserMapper.

Сопоставление различных свойств

Сопоставление псевдонима в DTO с псевдонимом в Entity

Игнорировать свойства

При замене DTO на сущность, если значение сущности отсутствует в DTO

DTO
String nick;
String name;
Entity
String nickname;
String name;
String Age;

В этом случае нулевое значение добавляется к Entity.Age (DTO → Entity)

Используйте 1_

мы узнали, как использовать MapStructure вместо ModelMapper
Используйте его по ситуации. Спасибо