SpringBoot DB연결 1-2. DataSource연결

jeonbang123·2023년 3월 17일
0

springboot

목록 보기
2/14
post-thumbnail

전 단계에서 MyBatis설정을 했다면 이번에는 DB연결해주는 작업 정리할려고 한다.

1. dependcy추가

<dependency>
  <groupId>org.mariadb.jdbc</groupId>
  <artifactId>mariadb-java-client</artifactId>
  <version>2.7.4</version>
</dependency>

2. datasource 설정

spring:
  datasource:
#    url: jdbc:mariadb://localhost:3306/springboot??characterEncoding=UTF-8
    url: jdbc:log4jdbc:mariadb://localhost:3306/springboot??characterEncoding=UTF-8&serverTimezone=UTC
    username: username
    password: password
#    driver-class-name: org.mariadb.jdbc.Driver
    driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy

springboot에서 자동으로 datasource를 매핑해 SqlSessionFactory를 만들어 준다.
사용하는 DB가 여러개 일 경우에는 수동으로 @Bean을 등록하여 datasource를 매핑해주어야한다.

2-1. 처음 입력한 url,driver-class-name 정보

url: jdbc:mariadb://localhost:3306/springboot??characterEncoding=UTF-8,
driver-class-name: org.mariadb.jdbc.Driver
이렇게 입력하니까 쿼리 로그가 안찍혔다.


2-2. SQL 로그를 출력

  • net.sf.log4jdbc.sql.jdbcapi.DriverSpydriver-class-name 변경
  • urllog4jdbc: 추가

dependency추가 (net.sf.log4jdbc.sql.jdbcapi.DriverSpylog4jdbc-log4j2-jdbc4 여기 있음!)

<dependency>
  <groupId>org.bgee.log4jdbc-log4j2</groupId>
  <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
  <version>1.16</version>
</dependency>

실행쿼리, 쿼리결과 깔끔하게 출력 확인


  • 로그 출력 설정 (log4jdbc.log4j2.properties)
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

로그정보가 디테일해지면서 출력되는 로그가 더 많아진거 같은데, 쿼리 위치는 분명하게 보여지는 것같다.


  • 작성한 sql 형식과 동일하게 나오게 하기 위해 줄바꿈 제한없애기
    log4jdbc.dump.sql.maxlinelength=0 추가
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0

줄바꿈까지 표현 확인


  • 근데 첫줄이 오른쪽에 쏠려있는게 보기 싫다....
    SQL추적되면서 깔끔하게 보이도록 주석을 달자!!

깔끔?!
log4j2로 불필요한 로그들을 없애보자..다음에..

profile
Design Awesome Style Code

0개의 댓글