[Spring] ModelMapper를 이용해 DTO와 Entity 변환 방법

    [Spring] ModelMapper를 이용해 DTO와 Entity 변환 방법 알아보기

    ModelMapper는 Java 객체 간에 데이터를 매핑하는 라이브러리입니다. 이를 이용해 DTO와 Entity 간의 데이터 변환을 쉽게 할 수 있습니다.

    다음은 ModelMapper를 이용해 DTO와 Entity 간의 데이터 변환을 하는 방법입니다.

    1. ModelMapper 의존성 추가

    dependencies {
        implementation 'org.modelmapper:modelmapper:2.4.4'
    }

    2. ModelMapper Bean 등록

    Spring Boot를 사용하는 경우, ModelMapper를 Bean으로 등록해주어야 합니다.

    @Configuration
    public class AppConfig {
        @Bean
        public ModelMapper modelMapper() {
            return new ModelMapper();
        }
    }

    3. DTO 클래스와 Entity 클래스 생성

    DTO와 Entity 클래스를 생성합니다. 두 클래스의 필드명과 타입이 같아야 합니다.

    public class UserDTO {
        private String name;
        private int age;
        // Getter, Setter
    }
    
    @Entity
    @Table(name = "users")
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
        private String name;
        private int age;
        // Getter, Setter
    }

    4. DTO -> Entity 매핑

    public User convertToEntity(UserDTO userDTO) {
        ModelMapper modelMapper = new ModelMapper();
        User user = modelMapper.map(userDTO, User.class);
        return user;
    }

    5. Entity -> DTO 매핑

    public UserDTO convertToDTO(User user) {
        ModelMapper modelMapper = new ModelMapper();
        UserDTO userDTO = modelMapper.map(user, UserDTO.class);
        return userDTO;
    }

    위와 같이 ModelMapper를 사용하면 DTO와 Entity 간의 데이터 변환을 간단하게 할 수 있습니다. 이를 이용해 데이터의 흐름을 분리하고, 코드의 가독성과 유지보수성을 높일 수 있습니다.

    댓글

    Designed by JB FACTORY