MyBatis - 打印SQL语句

Posted sunylat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis - 打印SQL语句相关的知识,希望对你有一定的参考价值。

方法一:

在mybatis-config.xml中配置加一个setting

<?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>

如果是spring集成mybatis的话,在sqlSessionFactory配置好configLocation属性

<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/jstudio/user/dao/*.xml"></property>
</bean>

方法二:

首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 

###显示SQL语句部分
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  

参考:

https://mybatis.org/mybatis-3/zh/logging.html

https://blog.csdn.net/zsg88/article/details/78644188  

  

以上是关于MyBatis - 打印SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

请教问Mybatis 如何打印SQL语句

logback mybatis 打印sql语句

mybatis的Sql语句打印

Mybatis超强大的动态SQL大全

MyBatis拦截器打印不带问号的完整sql语句方法

mybatis如何在控制台打印执行的sql语句