有两种方式,一种是在log4j里配置,另外一种是在mybatis配置文件中配置,现在,详细介绍配置方法:
1.log4j配置:
log4j.xml(放在src下面包路径中)
log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=my.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
//打印mybatissql配置部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
2.mybatis配置文件配置,这里我介绍整合spring后的mybatis,如果是单独的mybatis,直接在mybatis.cfg.xml中配置。
首先整合spring和mybatis的配置文件spring-mybatis.xml中:
<!-- sessionFactory工厂配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- mybatis和spring完美配置,通配符直接扫描路径下xml -->
<property name="mapperLocations" value="classpath*:com/cn/su/mapper/*.xml"></property>
<!-- 整合mybatis配置文件 -->
<property name="configLocation" value="classpath:sqlMapConfig.xml"></property>
</bean>
这里的sqlMapConfig.xml就是mybatis的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>
这样就配置好了,如果单纯的需要打印sql语句,第二种方式比较好,不会打印很多无关的信息。