반응형
마이바티스 사용 시 최종 쿼리문 확인 하는 방법
1. pom.xml 추가
<!-- Sql Log -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
2. root-context.xml 수정
<!-- 기존코드 -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close">
<property name="driverClassName" value="" />
<property name="url" value="" />
<property name="username" value="" />
<property name="password" value="" />
</bean>
<!--수정코드 -->
<bean id="dataSourceSpied" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="" />
<property name="url" value="" />
<property name="username" value="" />
<property name="password" value="" />
</bean>
<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceSpied" />
<property name="logFormatter">
<bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="sqlPrefix" value="SQL : "/>
</bean>
</property>
</bean>
3. log4j.xml 수정
따로 수정 하는 내용 없음 필요한 logger 선택해서 추가해주면 됨.
<!-- SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds) -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="info" />
<appender-ref ref="console"/>
</logger>
<!-- SQL 쿼리 문장 -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="info"/>
<appender-ref ref="console"/>
</logger>
<!-- ResultSet을 제외한 모든 JDBC 호출 정보 -->
<logger name="jdbc.audit" additivity="false">
<level value="info"/>
<appender-ref ref="console"/>
</logger>
<!-- ResultSet을 포함한 모든 JDBC 호출 정보 -->
<logger name="jdbc.resultset" additivity="false">
<level value="info" />
<appender-ref ref="console"/>
</logger>
<!-- SQL 결과 조회된 데이터의 table을 로그 -->
<logger name="jdbc.resultsettable" additivity="false">
<level value="info"/>
<appender-ref ref="console"/>
</logger>반응형
댓글