issues
search
captain-yun
/
fc-board-project
패스트캠퍼스 게시판 서비스 수업
0
stars
0
forks
source link
데이터베이스 접근 로직 테스트 정의
#9
Closed
captain-yun
closed
10 months ago
captain-yun
commented
10 months ago
도메인 설계 내용 (#8)을 바탕으로 DB와 연동하기 위한 방법을 설정하고 구현해본다.
[x] DB 기술 선택 : MySQL(운영), H2(테스트용)
[x] DB 접근 가능하도록 세팅
[x] CRUD 테스트
captain-yun
commented
10 months ago
IntelliJ DataGrip 기능 사용하기
[Database] - [DataSource] - MySQL 선택
설정화면
연동되면 다음 같은 SQL 쿼리 날릴 수 있는 화면창 OPEN. 여기서 쿼리 날릴 수 있음
captain-yun
commented
10 months ago
data.sql : 테스트 DB용 가데이터
captain-yun
commented
10 months ago
application.yml 파일 분석
hibernate.ddl-auto: create // 자동 생성
show-sql : true // 쿼리 보여줄때
properties: hibernate.format_sql: true hibernate.default_batch_fetch_size: 100
properties 설정은 하이버네이트 별도의 설정파일 (나머지는 스프링에서 공통적으로 처리해주는 부분도 있지만 그렇지 않은 부분은 properties 설정 파일에 넣기)
야믈파일은 --- (줄 3개)로 여러 개의 도큐먼트를 만들 수 있다. 각 도큐먼트마다 서로 다른 프로파일(profile)을 지정해서 문서를 구분
config.activate.on-profile : testdb // testdb 프로파일이 activated 되어있을때 이 문서를 읽어라
captain-yun
commented
10 months ago
JpaConfig Auditing 기능
데이터 insert할 때 생성일자, 생성자, 수정일자, 수정자 등의 메타정보는 사용자가 직접 넣어줄 필요가 없다. -> Auditing 에서 해줄 수 있도록 변경
오디팅 할 때마다 기본값을 넣어줄 수 있도록 다음과 같이 변경
captain-yun
commented
10 months ago
참고) Editor -> Intentions -> multiple lines 설정하면 여러 줄로 코드 스타일 바꿔줄 수도 있음.
captain-yun
commented
10 months ago
축약어로 코드 템플릿 설정
captain-yun
commented
10 months ago
테스트 데이터 대량으로 만들어주는 서비스 - mockaroo
captain-yun
commented
10 months ago
insert article 테스트 진행 중 에러발생
원인 : not null 제약조건이 붙어있는 필드에 null 값 입력
해결 방법
Article, ArticleComment 엔티티에 어노테이션 @EntityListeners(AuditingEntityListener.class) 추가
오디팅으로 변경 감지 -> 날짜 필드 자동값 넣어줌 (참고 사이트)[
https://velog.io/@seongwon97/Spring-Boot-Entity-Listener
]
도메인 설계 내용 (#8)을 바탕으로 DB와 연동하기 위한 방법을 설정하고 구현해본다.