복붙노트

[SQL] 어떻게 봄 부팅 프로젝트에 SQL 쿼리, Log4jdbc과의 매개 변수 및 결과를 기록하려면?

SQL

어떻게 봄 부팅 프로젝트에 SQL 쿼리, Log4jdbc과의 매개 변수 및 결과를 기록하려면?

SQL은 DB로 전송 쿼리하여 보려면 우리는 일반적으로 showSql 매개 변수를 사용합니다 :

spring.jpa.showSql=true

그것은 문 본체가 아니라 매개 변수를 볼 수있게 해준다 :

insert into master (id, version, name) values (null, ?, ?)

그리고 특히 우리는 쿼리의 결과가 표시되지 않습니다.

응용 프로그램 로그에 SQL 문, 매개 변수 및 결과를 볼 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.log4jdbc 스프링 부팅-선발로 우리는 쉽게 모든 JDBC 문, 봄 부팅 / 스프링 데이터 JPA 프로젝트에서의 매개 변수와 결과를 기록 할 수 있습니다.

    log4jdbc 스프링 부팅-선발로 우리는 쉽게 모든 JDBC 문, 봄 부팅 / 스프링 데이터 JPA 프로젝트에서의 매개 변수와 결과를 기록 할 수 있습니다.

    예를 들어, 우리는 우리의 응용 프로그램에서 일부 JPQL 쿼리를 수행 할 때 :

    select u from User u where u.name = 'john'
    

    우리는 응용 프로그램 로그에서의 매개 변수를 사용하여 다음과 같은 SQL 쿼리를 참조하십시오

    select ... from users users0_ where users0_.name='john'
    

    그리고 테이블 형태의 결과 :

    |---|---------|
    |id |name     |
    |---|---------|
    |1  |john     |
    |---|---------|
    

    이 스타터를 사용하려면 우리는 우리의 프로젝트에 대한 의존도를 추가해야합니다 :

    <dependency>
        <groupId>com.integralblue</groupId>
        <artifactId>log4jdbc-spring-boot-starter</artifactId>
        <version>1.0.2</version>
    </dependency>
    

    이러한 매개 변수를 application.properties에 추가

    logging.level.jdbc.resultsettable=info
    logging.level.jdbc.sqltiming=info
    logging.level.jdbc.sqlonly=fatal
    logging.level.jdbc.audit=fatal
    logging.level.jdbc.resultset=fatal
    logging.level.jdbc.connection=fatal
    

    또한, 우리는 한 줄에 출력을 얻기 위해이 log4jdbc 매개 변수를 추가 할 수 있습니다 :

    log4jdbc.dump.sql.addsemicolon=true
    log4jdbc.dump.sql.maxlinelength=0
    log4jdbc.trim.sql.extrablanklines=false
    
  2. from https://stackoverflow.com/questions/45346905/how-to-log-sql-queries-their-parameters-and-results-with-log4jdbc-in-spring-boo by cc-by-sa and MIT license