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