今天想看一下myBatis生成的sql语句,看是否有语法错误,但却一直也打印不出来,也有很多人提出了springMVC下的mybatis输出sql语句的方法,但是我试了一下,发现不行,也有可能是给我的配置问题吧,下面给出我的问题所在,解决方案,配置文件。
问题所在:slf4j和log4j的版本问题。
解决方案:在pom.xml里面换成相互支持的版本即可,只需要在src下放一个log4j.propertis即可打印出sql语句。
配置文件代码:
pom.xml:
<!-- 日志相关 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
log4j.properties:
log4j.rootLogger=debug, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d %5p %c - %m%n log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug log4j.logger.org.mybatis=debug log4j.logger.org.myrobot.persist=debug log4j.logger.org.myrobot.dao=debug log4j.logger.org.myrobot.controller=debug
org.myrobot.*是我自己的包,测试了一下不加也可以。因为log4j.rootLogger已经设置了全局的日志输出方法。