MyBatis控制台显示SQL语句的方法

时间:2024-10-30 16:16:15

一、单独使用MyBatis

(1)在配置文件中添加如下配置

<setting name="logImpl" value="STDOUT_LOGGING" />

(2)使用slf4j输出

因此要先添加slf4j的依赖

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-log4j12</artifactId>
   <version>1.7.6</version>
</dependency>

log4j配置文件:

=DEBUG
=DEBUG
=DEBUG
=DEBUG
=DEBUG
=DEBUG
=DEBUG

二、在SSM框架集合中输出SQL

(1)使用上面的slf4j输出的方法

(2)依然新建“”配置文件,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/">
<configuration>
    <settings> 
        <!-- 打印查询语句 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
</configuration>

但是如果是Spring整合MyBatis的情况下,我们通常会写一个的配置文件

此时,如果是这样的写法,这个配置文件暂时不会生效,因为没有在这个注册,Spring就不会扫描这个配置文件

此时,修改中id为:sqlSessionFactory的bean,修改如下写法:

<bean  class=""> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="mapperLocations" value="classpath:com/lzc/dao/*.xml"></property>
     <!-- 自动扫描文件 -->
    <property name="configLocation" value="classpath:conf/"></property>
</bean>

 

三、在Spring Boot + MyBatis 中输出SQL语句

(1)使用配置文件

=debug

格式: + 要显示sql的Mapper文件的包,yml文件同理

(2)使用配置文件

logging:
 level:
  cn:
   lzc:
    user:
     mapper: debug

 

显示的sql样式如下:

sql显示