'프로젝트 환경설정' 목차 

1. 프로젝트 생성

2. 라이브러리 살펴보기 

3. view 환경설정  

4. H2데이터베이스 설치  (이번 포스팅)

5. JPA와 DB설정, 동작확인 

참고) 쿼리 파라미터 로그 남기기 


H2 데이터베이스 설치

1) 1.4.200 버전 설치를 권장한다.

윈도우, 맥 둘 다 지원한다. 경량의 교육용 DB다. H2 공식 홈페이지에서 다운로드 받고 설치한다. 

 

2) h2 설치 경로의 bin 디렉토리 하위에 가면 h2.sh 가 있다. 

3) ./h2.sh 로 실행하면, H2 콘솔 웹페이지가 열린다. 

데이터베이스 이름을 minishop 으로 설정하고 '연결'을 클릭한다. 

 

4) 홈디렉토리에 아래와 같이 db 파일이 생성된 것을 확인할 수 있다. 

5) 이제 minishop DB 웹콘솔에 접속할 때 tcp 네트워크 모드로 jdbc:h2:tcp://localhost/~/minishop 접속할 수 있다. 


JPA와 DB설정, 동작확인

1) properate 보다는 가독성 좋은 yml (야믈) 로 설정파일을 만들자. 

DB커넥션, jpa, 로깅에 대한 설정을 작성한다. 

 

yml은 띄어쓰기 2개를 통해 계층을 구분한다. 2개 띄는 것을 틀리지 않도록 주의하자. 

spring: # 띄어쓰기 없음
  datasource: # 띄어쓰기 2개
  url: jdbc:h2:tcp://localhost/~/minishop
  username: sa
  password:
  driver-class-name: org.h2.Driver

  jpa: # 띄어쓰기 2개
    hibernate:
      ddl-auto: create # 애플리케이션 실행 시점에 테이블을 drop하고 다시 생성한다
    properties:
      hibernate:
        format_sql: true

logging: # 띄어쓰기 없음
  level: # 띄어쓰기 2개
    org.hibernate.SQL: debug # 로거를 통해 하이버네이트 실행 SQL을 남긴다

2)  jpa.hibernate.ddl-auto 옵션이 중요하다. 

create 는 애플리케이션 실행 시점에 테이블을 drop 하고 다시 create한다. 

none 은 ddl을 실행하지 않는다. 운영에서는 반드시 none 으로 해야한다. 

 

3) 모든 로그 출력은 System.out 이 아니라 가급적 로거를 통해 남기자. 

jpa.properties.hibernamte.show_sql 옵션은 표준 출력에 하이버네이트 실행 sql을 남긴다.

logging.level.org.hibernate.SQL 옵션은 로거를 통해 하이버네이트 실행 sql을 남긴다.


참고: 쿼리 파라미터 로그 남기기

 

* logging.level.org.hibernate.type: trace 옵션이 있지만, 보기에 편하지는 않다. 외부 라이브러리 P6Spy를 이용하자.

 

* 쿼리 파라미터 로그 라이브러리 - decorator github

아래 의존성을 build.gradle 에 넣자. 최신 버전을 적어주자. 

implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0'

insert 쿼리의 파라미터가 그대로 들어가는 것이 보인다. 

로그 출력은 개발 중에는 상관 없지만, 운영에서는 로그 출력이 부하가 될 수도 있다. 

따라서 성능 테스트를 반드시 해 보고, 로그 레벨을 조정해야 한다. 


다음 시간에는 도메인 분석 설계를 한다. 

공부 자료 출처: 스프링부트와 JPA활용1

 

 

728x90

'프로그래밍 > JPA' 카테고리의 다른 글

view 환경 설정  (0) 2022.01.10
프로젝트 생성  (0) 2022.01.10
스프링 부트와 JPA활용1 - 개요 및 목차  (0) 2022.01.10
JPA 다대일 단방향 양방향  (0) 2021.07.03
연관관계 매핑시 고려할 3가지  (0) 2021.07.03

+ Recent posts