엔티티 정의
① Annotation을 설정한다.
② 기본 생성자를 생성한다.
Lombok으로 생성하는 방법 : @NoArgsConstructor(access = AccessLevel.PROTECTED)
③ 설정이 필요한 필드를 갖는 생성자(private)를 생성한다.
생성자는 private 제어자로 숨기고, 값을 넣을 때는 factory method를 이용한다.
④ 동등성/동일성 검사를 위한 equals() ans hashCode()를 생성한다.
⑤ 서비스(애플리케이션 코드)를 구동한다.
Services(구 Spring DashBoard) > Add Service > Run Configuration Type > Spring Boot > Run
Services를 이용하여 서비스를 구동하면 서비스 실행 로그(빌드 및 테스트 작업)와 분리 가능하다.
⑥ IntelliJ의 Database 탭에서 테이블이 생성 되었는지 확인한다.
⑦ 연관 관계를 설정한다.(양방향 바인딩)
@ManyToOne : 댓글 > 게시글
@OneToMany : 게시글 > 댓글
⑧ Repository를 생성한다.
패키지 > 마우스 오른쪽 > New > Spring Data > Repository > Entity 선택
패키지 > 마우스 오른쪽 > New > Interface
테스트 코드 작성
① JpaRepository 테스트 코드를 생성한다.
Repository에서 새로운 테스트 코드를 생성하는 방법 : Ctrl + Shift + T
② 조회(SELECT) 테스트 코드를 작성한다.
findAll() : null이 아닌지, 데이터의 개수가 지정한 개수와 동일한지 확인한다.
③ 삽입(INSERT) 테스트 코드를 작성한다.
데이터를 넣기 전의 개수를 파악하여 넣은 후의 개수가 1 증가 했는지 확인한다.
④ 수정(UPDATE) 테스트 코드를 작성한다.
영속성 컨텍스트로부터 엔티티를 하나 가져와 해시 코드 값을 변경한다. 해당 필드가 변경 됐는지 확인한다.
(transaction RollBack으로 인해 실제 DB에 반영되지 않음)
⑤ 삭제(DELETE) 테스트 코드를 작성한다.
데이터를 삭제하기 전의 개수를 파악하여 삭제한 후의 개수가 1 감소 했는지 확인한다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/43z0P6S
#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
'Java > [패스트캠퍼스] 50일 포트폴리오 챌린지' 카테고리의 다른 글
[23일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.30 |
---|---|
[22일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.29 |
[20일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.27 |
[19일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.26 |
[18일차] 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) (0) | 2023.08.25 |