전 단계에서 MyBatis설정을 했다면 이번에는 DB연결해주는 작업 정리할려고 한다.
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.4</version>
</dependency>
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를 매핑해주어야한다.
url: jdbc:mariadb://localhost:3306/springboot??characterEncoding=UTF-8
,
driver-class-name: org.mariadb.jdbc.Driver
이렇게 입력하니까 쿼리 로그가 안찍혔다.
net.sf.log4jdbc.sql.jdbcapi.DriverSpy
로 driver-class-name
변경 url
에 log4jdbc:
추가dependency추가 (net.sf.log4jdbc.sql.jdbcapi.DriverSpy
가 log4jdbc-log4j2-jdbc4
여기 있음!)
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
실행쿼리, 쿼리결과 깔끔하게 출력 확인
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
로그정보가 디테일해지면서 출력되는 로그가 더 많아진거 같은데, 쿼리 위치는 분명하게 보여지는 것같다.
log4jdbc.dump.sql.maxlinelength=0
추가log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
줄바꿈까지 표현 확인
깔끔?!
log4j2로 불필요한 로그들을 없애보자..다음에..