spring集成mybatis后,打印SQL语句

网上说 mybatis 的早前版本配置打印 sql 还比较简单,在 3.0.6 之后配置方式修改了。

 

现在的 spring-mybatis.xml 配置如下:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:conf/mybatis-config.xml"></property>
        <!-- 自动扫描 mapping.xml 文件 -->
        <property name="mapperLocations" value="classpath:com/cyber/vip/dao/*.xml"></property>
    </bean>

mybatis-config.xml:

<?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>
<span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)"> mapper已经在spring-mybatis.xml中的sqlSessionFactory配置,这里不再需要配置 </span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>

<!-- <mappers> -->
<!-- <mapper resource="com/a/b/c/dao/BusinessInfoDaoMapper.xml" /> -->
<!-- </mappers> -->
</configuration>

 

不错,打印 SQL 只需要加一个 setting 就可以了。

mybatis 的日志打印方式比较多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根据自己的需要进行配置

 

settings 的更多参数可以参考官网文档:http://www.mybatis.org/mybatis-3/zh/configuration.html#settings