私のプロジェクトでは
<bean id="ABCSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ABCDataSource" />
<property name="mapperLocations">
<list>
<value>classpath:com/myco/dao/XYZMapper.xml</value>
</list>
</property>
<bean>
そして
log4j.logger.Java.sql.Connection=debug, stdout, abclog
log4j.logger.Java.sql.PreparedStatement=debug, stdout, abclog
log4j.logger.Java.sql=debug, stdout, abclog
log4j.logger.org.mybatis=debug, stdout, abclog
log4j.logger.org.Apache.ibatis=debug, stdout, abclog
ログでアプリケーションを実行するとSQLクエリが表示されない何が欠けているのか知りたい
この投稿を見た MybatisがSQLを出力するようにlog4jを構成する方法 mybatisクラスの構成を変更することを提案しているが、SpringSqlSessionFactoryBeanを使用する方法がわからない
Mybatis-config.xmlを介してMybatisのログを追加できます。
次のようにlog4jを追加します。
mybatis-config.xml
<configuration>
<settings>
...
<setting name="logImpl" value="LOG4J"/>
...
</settings>
</configuration>
次に、log4j.propertiesに、ログに記録するクラスを追加します。
log4j.logger.org.mybatis.example.MyMapper=TRACE
SQLステートメントはDEBUGレベルでログに記録されるため、出力をDEBUGに設定します。
log4j.logger.org.mybatis.example=DEBUG
詳細については、 ドキュメント を参照してください。
Mybatisのログバックを構成してSQLを出力する方法 の回答から引用すると、これが完全に機能するかどうかはわかりません。ロギング用のSpring構成を提供します。このアプローチは私のために働いた。
特定のmybatisマッパーのSQLステートメントをログに記録するには、完全修飾マッパー名を使用してロガーのDEBUG(クエリパラメーターと結果を表示するTRACE)レベルを設定します
<logger name="com.mycompany.myapp.mapper.MyMapper" level="DEBUG"/>
このように同じパッケージに含まれている場合は、すべてのマッパーからのすべてのSQLステートメントをログに記録できます。
<logger name="com.mycompany.myapp.mapper" level="DEBUG"/>
問題がまだある場合は、試してみてください。幸運を!
最も簡単な方法の構成でテストし、ログを確認します。次に、出力(ファイル、レベルなど)をカスタマイズします。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN"
"log4j.dtd" >
<log4j:configuration>
<appender name="STDOUT" class="org.Apache.log4j.ConsoleAppender">
<layout class="org.Apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p (%c.Java:%L).%M - %m%n"/>
</layout>
</appender>
<root>
<priority value="TRACE" />
<appender-ref ref="STDOUT"/>
</root>
</log4j:configuration>
必要なすべての行を構成に追加してみてください。
動作するはずのサンプルは次のとおりです。
#configure root logger
log4j.rootLogger=ERROR, file, stdout
#configure all mybatis mappers logging
log4j.logger.com.myco.dao=ERROR
#configure your mapper logging
log4j.logger.com.myco.dao.XYZMapper=DEBUG
#configure appender
log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.Apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n