인프런 커뮤니티 질문&답변

hwanghsp님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 기능 테스트

Mysql 인메모리DB 설정, 로그 쿼리남기기

22.05.17 22:06 작성

·

2K

0

안녕하세요, 저는 처음부터 H2데이터베이스가 아닌 MySQL을 연결해서 사용하고 있습니다.

 

테스트 코드 작성 후 여러 이점으로 메모리디비 연결 하는 방법을 알려주셨는데, Mysql의 경우도 할 수 있나요?

현재 dependencies에 implementation 'mysql:mysql-connector-java' 추가된 상태입니다.

 

 

추가적으로 로그에 쿼리남기는 것도 보고싶어서, 

dependencies에 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'

만을 추가한 상태입니다.

 

로그에 남는것 같기는 한데 선생님처럼 예쁘게 보이는 것이아닌 줄글처럼 나오는데요, 혹시 추가하거나 봐야할 게 있을까요?

application.properties에는 이렇게 설정했습니다,

# JPA Settings
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true

 

답변 1

0

OMG님의 프로필 이미지

2022. 05. 17. 23:36

안녕하세요. hwanghsp님, 공식 서포터즈 OMG입니다.

1. 네 MySQL은 지원하지 않는 것으로 알고 있습니다.

인메모리모드를 지원하는 목록은 아래를 참고해주세요.

https://www.baeldung.com/java-in-memory-databases

DB벤더가 많아서 위의 DB뿐만 아니라 다른 DB에서도 지원할 수도 있습니다.

 

2.p6spy 내용은 한줄로 출력되는게 맞습니다.

영한님 강의 중 p6spy 로그도 쿼리 정렬이 되어 있는 부분이 있나요?

제가 놓치거나 잘못 알고 있는 것일수도 있어서요.

확인 부탁드립니다.

 

감사합니다.

hwanghsp님의 프로필 이미지
hwanghsp
질문자

2022. 05. 17. 23:43

답변 감사합니다. 제가 원했던 부분은 

사진과 같이 테이블 형태로 쿼리가 남는 것을 보고싶었습니다.

application.properties도 이렇게 수정했지만 , 예전과 똑같이 길게 쿼리가 찍힙니다.

# JPA Settings
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.format-sql=true
spring.jpa.properties.hibernate.show-sql=true

 

OMG님의 프로필 이미지

2022. 05. 18. 00:00

application.properties 는 아래와 같이 작성하시면 됩니다.

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

spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.format_sql=true

 

- 위와 같이 작성한 경우, p6spy가 동작하면

drop 쿼리와 Insert 쿼리는 한줄로 나옵니다.

 

create, alter문은 정렬되어 나옵니다.

hwanghsp님의 프로필 이미지

작성한 질문수

질문하기