[Spring Boot] 2. db 관련 dependency 설정

갓김치·2021년 5월 27일
1

work

목록 보기
2/10

지난이야기

  • insert 성공 확인하면서 db 연동은 완료했는데 select 하면null이 리턴되는중.. typeAlias 문제인듯

1. 커넥션풀 디펜던시

1) DBConfig.java

@PropertySource("classpath:/application.properties") // 설정파일에서 읽어올 설정 정보들의 경로를 지정
@Configuration
public class DBConfig {
    
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.hikari") // 읽어올 설정 정보 prefix 지정
    public HikariConfig hikariConfig() {
        return new HikariConfig();
    }
    
    @Bean
    public DataSource dataSource() {
        return new HikariDataSource(hikariConfig());
    }
}

2. sql log

1) dependency

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

2) log config file

log4jdbc.log4j2.properties 생성

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4jdbc.dump.sql.maxlinelength=0

# mysql 8.0 드라이버 맞춰주기 위함
log4jdbc.drivers=com.mysql.cj.jdbc.driver
log4jdbc.auto.load.popular.drivers=false
  • 드라이버설정없으면 deprecated 오류남

참고

application.properties 수정

변경전

# mysql connection
spring.datasource.hikari.jdbc-url=jdbc:mysql://localhost:3306/{스키마명}?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.hikari.username={계정명}
spring.datasource.hikari.password={비번}
spring.datasource.hikari.pool-name={풀네임}
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver

변경후

# mysql connection
spring.datasource.hikari.jdbc-url=jdbc:log4jdbc:mysql://localhost:3306/{스키마명}?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.hikari.username={계정명}
spring.datasource.hikari.password={비번}
spring.datasource.hikari.pool-name={풀네임}
spring.datasource.hikari.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy

참고

3) logback-spring.xml 생성

application.properties

# logging
logging.config=classpath:logback-spring.xml
  • 기존 logback.xml 말고 직접 설정한 파일 읽을 수 있도록 추가

logback-srping.xml

  • resource 하위에 생성 (classpath)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--<pattern>%-5level %logger{1.1.~.~} - %msg%n"</pattern>-->
            <pattern>%d{yyMMdd HH:mm:ss} %-3level %logger{5} - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="jdbc" level="OFF"/>

    <logger name="jdbc.sqlonly" level="OFF"/>
    <logger name="jdbc.sqltiming" level="DEBUG"/>
    <logger name="jdbc.audit" level="OFF"/>
    <logger name="jdbc.resultset" level="OFF"/>
    <logger name="jdbc.resultsettable" level="DEBUG"/>
    <logger name="jdbc.connection" level="OFF"/>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>
profile
갈 길이 멀다

0개의 댓글