본문 바로가기
Side Project

[Spring Boot] 환자 관리 프로그램 - 설정 (1)

by jisayDeveloper 2023. 10. 18.
728x90
반응형
SMALL

게시판 연습할겸 환자 관리 프로그램을 만들어 보겠습니다.

 

dependencies는 위의 네개를 추가합니다.

 

application.properties

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/db이름
spring.datasource.username=아이디
spring.datasource.password=패스워드

# JPA가 실행한 SQL 쿼리를 콘솔에 출력합니다. 애플리케이션 실행 중에 실행된 SQL을 확인할 수 있습니다.
spring.jpa.show-sql=true

# Hibernate의 DDL 작업 설정입니다. "update"로 설정하면 존재하지 않는 테이블을 자동으로 생성하고, 필요한 경우 테이블을 업데이트합니다.
spring.jpa.hibernate.ddl-auto=update

# JPA에서 생성된 SQL 쿼리를 읽기 쉽게 포맷팅합니다. 디버깅 및 로깅 목적으로 사용됩니다.
spring.jpa.properties.hibernate.format_sql=true

# Hibernate에서 생성한 SQL 쿼리를 콘솔에 출력합니다. spring.jpa.show-sql과 유사하지만 Hibernate에 특화된 설정입니다.
spring.jpa.properties.hibernate.show-sql=true

# SQL 바인딩 매개변수 및 타입 디스크립터 추적을 활성화합니다. SQL 파라미터 바인딩과 데이터 타입 변환에 대한 자세한 정보를 표시합니다.
logging.level.org.hibernate.type.descriptor.sql=trace

# 오픈 세션 인 뷰 패턴을 사용하여 JPA 세션을 요청과 응답 사이에 열려 유지하도록 설정합니다. 이는 지연로딩 및 영속성 관리와 관련이 있습니다.
spring.jpa.open-in-view=true

# 웹 요청과 응답에 대한 디버깅 로깅 레벨을 설정합니다.
logging.level.web=debug

# Hibernate SQL 쿼리에 대한 디버그 레벨을 설정합니다. Hibernate로 생성된 SQL에 대한 상세한 정보를 제공합니다.
logging.level.org.hibernate.SQL=DEBUG

# SQL 매개변수를 바인딩할 때 Hibernate의 BasicBinder를 추적합니다. SQL 파라미터 바인딩과 데이터 타입 변환에 대한 자세한 정보를 표시합니다.
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

# 세션 추적 모드를 설정하며, 여기서는 쿠키를 사용하여 세션을 추적합니다. URL에 JSESSIONID를 노출하지 않도록 설정합니다.
server.servlet.session.tracking-modes=cookie

# 요청 및 응답에 대한 자세한 정보를 로깅합니다. 특히 요청 매개변수를 마스킹하거나 숨기지 않고 로깅할 수 있습니다.
spring.mvc.log-request-details=true

# SQL 쿼리에서 구문 강조 표시를 활성화합니다. SQL을 더 가독성 있게 표시하고 강조 표시합니다.
spring.jpa.properties.hibernate.highlight_sql=true

# SQL 쿼리에 주석을 추가하도록 설정합니다. 주석을 사용하면 실행 중인 SQL 쿼리를 설명할 수 있습니다.
spring.jpa.properties.hibernate.use_sql_comments=true

데이터베이스 설정:

spring.datasource.driver-class-name, spring.datasource.url, spring.datasource.username, spring.datasource.password 설정은 데이터베이스 연결을 설정합니다.
spring.jpa.hibernate.ddl-auto는 Hibernate의 DDL 작업 설정으로 데이터베이스 테이블 생성 및 업데이트를 관리합니다.


SQL 로깅과 디버깅:

spring.jpa.show-sql 및 spring.jpa.properties.hibernate.show-sql 설정은 JPA와 Hibernate가 생성한 SQL 쿼리를 콘솔에 출력합니다.
spring.jpa.properties.hibernate.format_sql 설정은 SQL 쿼리를 읽기 쉽게 포맷팅하여 디버깅을 돕습니다.
logging.level.org.hibernate.type.descriptor.sql는 SQL 바인딩 매개변수와 타입 디스크립터 추적을 활성화합니다.


오픈 세션 인 뷰 패턴과 로깅:

spring.jpa.open-in-view는 오픈 세션 인 뷰 패턴을 설정하여 JPA 세션을 요청 및 응답 사이에 열어 유지합니다.
로깅 설정은 Hibernate로부터 생성된 SQL 쿼리와 디버깅 정보를 기록합니다.


세션 추적 및 요청 로깅:

server.servlet.session.tracking-modes 설정은 세션 추적 방법을 설정합니다. 여기서는 쿠키를 사용하여 세션을 추적하며 URL에 JSESSIONID를 노출하지 않습니다.
spring.mvc.log-request-details 설정은 요청 및 응답 정보를 자세하게 기록합니다.


SQL 쿼리 가독성 및 주석:

spring.jpa.properties.hibernate.highlight_sql 설정은 SQL 쿼리에서 구문 강조 표시를 활성화합니다.
spring.jpa.properties.hibernate.use_sql_comments 설정은 SQL 쿼리에 주석을 추가합니다.

이러한 설정을 통해 Spring Boot와 Hibernate를 사용하여 데이터베이스와의 효율적인 상호작용을 구현할 수 있습니다. 이 설정들은 개발 및 디버깅 단계에서 유용하며, 데이터베이스 작업을 추적하고 디버깅하는 데 도움이 됩니다.

 

다음 포스팅에 MVC와 JPA를 만들겠습니다.

728x90
반응형
LIST