inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

이런 코드 유형?은 어디편에서 공부해야하나요?

167

임다정

작성한 질문수 63

0


public class GuestBookMapper {

    public static GuestBookDTO toDTO(GuestBook entity) {
        return GuestBookDTO.builder()
                .guestBookId(entity.getGuestBookId())
                .content(entity.getContent())
                .nickName(entity.getNickName())
                .reportedCount(entity.getReportedCount())
                .createDate(entity.getCreateDate())
                .pw(entity.getPw())
                .build();
    }

    
    public static GuestBook toEntity(GuestBookRequest dto) {
        return GuestBook.builder()
                .content(dto.getContent())
                .nickName(dto.getNickName())
                .createDate(LocalDateTime.now()) 
                .reportedCount(0) 
                .pw(dto.getPw())
                .build();
    }

            }

프로젝트 진행중 다른분 코드를 공부하다가 Mapper이란 클래스는 왜있고 builder는 뭔지 이런 클래스가 왜있는지 공부하고싶은데 이런 코드유형을 알려주는 인강편이있나요?

java spring spring-boot jpa

답변 1

1

y2gcoder

안녕하세요. 임다정님, 공식 서포터즈 y2gcoder입니다.

해당 내용을 학습할 수 있는 영한님의 강의는 없습니다.

다만 Mapper 클래스나 빌더 패턴 모두 개념자체는 어렵지 않습니다!

Mapper 클래스는 말그대로 서로 다른 두 객체간의 매핑을 도와주는 유틸 클래스입니다. 위에서 보이듯이 DTO<-> Entity 간의 매핑을 위해서도 많이 사용하시는 것 같습니다. 개인적으로 사용해봤을 때는 DTO 로직에 변환 로직이 들어가지 않고, 매핑 책임을 Mapper 클래스로 이양했기 때문에 DTO 자체의 코드는 좀 더 깔끔한 느낌이 드는 것이 장점이었습니다!

빌더 패턴 또한 그리 어려운게 아닙니다! 이 부분은 잘 정리된 링크가 있어 밑에 첨부하겠습니다!

https://refactoring.guru/ko/design-patterns/builder

https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%EB%B9%8C%EB%8D%94Builder-%ED%8C%A8%ED%84%B4-%EB%81%9D%ED%8C%90%EC%99%95-%EC%A0%95%EB%A6%AC

 

감사합니다.

1

임다정

감사합니다!공식서포터즈님 궁금한게 한가지 더있습니다.영한님 강의를 쭉보면서 많은걸 배웠는데도 불구하고 팀플을하는데 모르는 개념들이 자주나옵니다..사실 REST API도 강의에서 많이 안다뤄서 아직 좀 어려운데 요즘은 다 RESTAPI로 진행하다보니 지금까지 뭘 공부한거지..싶기도하고 뭐 Mapper 클래스나 빌더패턴 개념은 안어려운데 처음보는 개념들은 어떻게 공부해야하죠?이런거말고도 또 모르는게 많을탠데..어디서 공부를 어떻게 해야할지 막막해집니다

강의 관련 외 질문입니다.

0

81

2

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

1

101

1

BeanCreationException

0

96

3

Update 후 UpdateMemberResponse 매핑할 때

0

57

1

트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?

0

103

2

페이징 + 검색조건 관련해서 질문드립니다.

0

74

1

Query Dsl Q파일 질문입니다.

0

86

1

루트 쿼리라는것은

0

62

1

메서드를 분리하는 기준

0

71

1

findAllWithMemberDelivery 메서드 질문드립니다.

0

116

3

연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략

0

92

2

fetch join과 영속화와 OSIV의 관계

0

90

2

Distinct 사용 전 결과에 대한 의문

0

118

2

레포지토리 계층에서의 트랜잭션에 대한 의문

0

63

1

영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.

0

79

2

dto 필드 속 엔티티 여부

0

63

1

뷰템플릿 사용 시

0

82

2

Result 클래스 관련 질문

0

57

1

@PostConstruct 프록시 관련 질문드립니다

0

88

1

DTO 대신 Form 사용은 안되나요?

0

140

1

OSIV ON 상태일 때

0

99

1

fetch join VS fetch join 페이징 궁금증

0

190

2

양방향 연관관계 알아보는 법?

0

110

1

16강 17강 간단 정리 이게 맞을까요 ?

0

168

2