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

作者:诗情画意林子淳 时间:2021-10-18 04:10:00 

一、单独使用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=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

二、在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语句的方法实现

来源:https://blog.csdn.net/qq_24689877/article/details/82863431

标签:MyBatis,控制台,显示SQL
0
投稿

猜你喜欢

  • SpringBoot配置全局异常处理器捕获异常详解

    2023-11-28 05:08:07
  • 学习Java HashMap,看这篇就够了

    2023-11-11 11:18:56
  • Java实现简单邮件发送功能

    2023-08-15 00:53:23
  • Java中的多态用法实例分析

    2021-07-11 18:36:35
  • Java四位电话号码的加密方法

    2022-08-20 16:04:29
  • 使用ViewPager实现左右循环滑动及滑动跳转

    2023-04-12 20:42:43
  • Java语言实现二叉堆的打印代码分享

    2021-11-27 23:00:15
  • 解析Flink内核原理与实现核心抽象

    2023-11-25 10:30:04
  • Java基础学习之关键字和变量数据类型的那些事

    2023-09-17 04:31:24
  • Springboot 项目读取Resources目录下的文件(推荐)

    2023-07-27 09:40:47
  • 使用IDEA开发配置Java Web的初始化过程

    2022-09-25 16:33:38
  • Android编程获取GPS数据的方法详解

    2023-09-20 16:37:34
  • Java多线程 CompletionService

    2022-08-19 18:51:32
  • Java重点梳理类与对象核心原理

    2023-04-08 06:15:41
  • Java基础教程之接口的继承与抽象类

    2023-11-06 20:47:22
  • java 静态代理 动态代理深入学习

    2022-07-24 21:46:25
  • Java多线程编程详细解释

    2022-12-22 10:19:41
  • 值得收藏的2017年Java开发岗位面试题

    2023-11-29 15:22:01
  • SpringBoot+WebSocket实现消息推送功能

    2021-11-15 12:16:18
  • java可以作为第一门编程语言学习吗

    2021-05-25 07:52:37
  • asp之家 软件编程 m.aspxhome.com