코딩/Spring
[Spring] ModelMapper를 이용해 DTO와 Entity 변환 방법
it 끄적이기
2022. 11. 18. 09:10
[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 간의 데이터 변환을 간단하게 할 수 있습니다. 이를 이용해 데이터의 흐름을 분리하고, 코드의 가독성과 유지보수성을 높일 수 있습니다.