스프링데이터 + JPA/QueryDSL

5. H2 DB 설치 및 설정

sdafdq 2023. 11. 27. 13:20

스프링 부트 h2의 라이브러리의 버전에 맞춰서 H2 설치

 

db파일 생성 잘 시키고, 

 

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

 

src/main/resources의 

application.yml 파일.

default는 application.properties 파일인데 사람마다 선호하는 게 다른 가봄. (회사마다 다를거임)

여튼 없을테니, application.properties 지우고 application.yml 만들어 주셈.

 

spring:
  datasource:
    url: jdbc:h2:tcp://localhost/./querydsl
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
logging:
  level:
    org.hibernate.SQL: debug

spring에 datasource setup 해 주고

저 datasource 부분은 당연히 사람마다 다를 것이고,

 

jpa 부분에

ddl에 대한것은 

https://qwefdg3.tistory.com/714

이거 참조.

 

저 spring.jpa.properties.hibernate.format_sql 저거를 true 해 놔야 sql이 예쁘게 하이버네이트가 설정한 포멧에 맞춰 나온다.

 

logging.level.org.hibernate.SQL(대문자여야 함): debug는

하이버네이트가 남기도록 해놓은 로그들 중 debug에 sql 쿼리가 있음. 그래서 해 놓음.

 

그리고, 저렇게 하면 쿼리문은 로그가 찍히긴 하는데(soutv 말고 로그임.) sql문의 값이 들어간 부분? 그러니까 

insert 
into
    test_entity
    (username, id) 
values
    (?, ?)

이런 건 다 이렇게 ?로 처리를 해 놔서,

저거 보려면

 

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

이 p6spy라는 라이브러리 설치해 줘야 함.

그냥 설치만 하면 자동으로 다 셋팅 됨.

 

 

'스프링데이터 + JPA > QueryDSL' 카테고리의 다른 글

7. JPQL vs QueryDSL  (0) 2023.11.28
6. 예제 도메인 모델  (0) 2023.11.28
4. 연관 라이브러리  (0) 2023.11.27
3. QueryDSL 설정  (0) 2023.11.27
2. 프로젝트 생성  (0) 2023.11.27