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

hwanghsp님의 프로필 이미지
hwanghsp

작성한 질문수

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

회원 기능 테스트

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

작성

·

2.1K

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

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

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

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

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

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

 

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

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

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

확인 부탁드립니다.

 

감사합니다.

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

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

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

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

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

 

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님의 프로필 이미지
hwanghsp

작성한 질문수

질문하기