@Mapper는 어떻게 사용하는 어노테이션일까?
@Mapper(config = MapstructMapperConfig.class)
public interface UserMapper {
UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);
UserMain to(UserModifyDto.ModifyPasswordByKmcDi modifyPasswordByKmcDiDto);
UserMain to(UserAwakenDto.Request request, UserStatus userStatus);
UserMain to(UserPaymentRegisterDto.Request request, Long userNo);
}
@Mapper 어노테이션은 객체 간의 자동 변환을 해주는 역할을 합니다. 예를 들어 아래와 같은 코드가 있을 때 UserMain 에 존재하는 필드와 이름이 일치하는 modifyPasswordByKmcDiDto 필드 값을 매칭시켜줍니다.
UserMain to(UserModifyDto.ModifyPasswordByKmcDi modifyPasswordByKmcDiDto);
ex) 사용법 예시
UserMain updatedUserMain = UserMapper.INSTANCE.to(modifyMobileAndUsernameRequest, SecurityUtil.getCustomUserDetails().getUserNo());
만약 다른 이름의 필드를 매칭 시키려면 아래와 같이 코드를 작성하면 됩니다.
@Mapping(source = "subUserNo", target = "userNo")
UserMain to(UserModifyDto.ModifyUserStatus modifyUserStatusDto);
'웹 개발 > Back End' 카테고리의 다른 글
Java 헷갈리는 것들 모음 (0) | 2024.09.16 |
---|---|
마이바티스 사용법 (0) | 2024.09.15 |
스프링 시큐리티 개념 (0) | 2024.05.19 |
JPA : Java Persistence API - 자바 진영의 ORM 기술 표준 (0) | 2022.12.22 |
스프링 MVC 디자인 패턴의 역사 (0) | 2022.12.22 |
댓글