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

一、单独使用MyBatis

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

<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配置文件:

log4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG

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

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

(2)依然新建“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></configuration>

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

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

此时,修改spring-mybatis.xml中id为:sqlSessionFactory的bean,修改如下写法:

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

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

(1)使用application.properties配置文件

logging.level.cn.lzc.user.mapper=debug

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

(2)使用application.yml配置文件

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

显示的sql样式如下:

到此这篇关于MyBatis控制台显示SQL语句的方法实现的文章就介绍到这了,更多相关MyBatis控制台显示SQL内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

世界没有永久的冬天;不要讨厌麻烦,

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

相关文章:

你感兴趣的文章:

标签云: