jrgf 发表于 2016-11-26 09:12:10

springmvc与mybatis整合,log4j输出sql语句

  无论我怎么配置spring、mybatis和log4j都不能输出sql语句。这个困扰了我好多天的问题,终于解决掉了。
  spring版本:3.2.8
  mybatis版本:3.26
  log4j版本:1.2.7
a. 配置mybatis_config.xml在settings中添加logImpl属性
        <settings><setting name="logImpl" value="LOG4J"/> </settings>
 b. 写一个servlet,如下
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
 
public class InitLog4jServlet extends HttpServlet {
 
           private static final long serialVersionUID = 1L;
 
 @Override
 public void init() throws ServletException {
  super.init();
  org.apache.ibatis.logging.LogFactory.useLog4JLogging();
  System.out.println("************tell mybatis use log4j************");
 }
 
}
c. 在web.xml中配置启动servlet
 <servlet>
  <servlet-name>InitLog4jServlet</servlet-name>
  <servlet-class>com.xy.servlet.InitLog4jServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
 </servlet>
 d. log4j.properties文件内容
#
log4j.rootLogger=INFO, stdout
#MyBatis 配置,com.xy.mapper是mybatis接口所在包
log4j.logger.com.xy.mapper=DEBUG
#
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
#
log4j.category.org.springframework=INFO  
 
按照以上4步,重启项目就好了。。
页: [1]
查看完整版本: springmvc与mybatis整合,log4j输出sql语句