美文网首页开源框架-Mybatis系列
Mybatis-Plus 开发环境打印sql到控制台以便分析

Mybatis-Plus 开发环境打印sql到控制台以便分析

作者: 骑蚂蚁上高速_jun | 来源:发表于2020-11-10 23:07 被阅读0次

    方式一:
    在springboot 默认配置文件 logback-spring.xml 下添加配置如下:

    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n</pattern>
            </layout>
        </appender>
    
        <!-- mybatis-plus 操作数据库包所在路径 -->
        <logger name="com.xxl.job.executor.mapper" level="debug"/>
    

    该种方式记录的sql 语句,无法统计时间长度而且参数与sql 语句是分开的。 不美观
    方式二:
    使用第三方开源包库 p6spy 打印分析sql,该种方式适合开发环境调试,不适合生产环境
    1.引入依赖

     <dependency>
                <groupId>p6spy</groupId>
                <artifactId>p6spy</artifactId>
                <version>3.9.1</version>
    </dependency>
    
    1. 修改数据源配置 application-dev.properties
    mysql.host.en.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
    mysql.host.en.url=jdbc:p6spy:mysql://localhost:3306/zmkm?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong
    mysql.host.en.username=root
    mysql.host.en.password=123456
    mysql.host.en.type=com.alibaba.druid.pool.DruidDataSource 
    
    1. 添加 p6spy 配置 p6spy.properties
    module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
    
    # 自定义日志打印
    
    logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
    
    #日志输出到控制台,解开注释就行了
    appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
    
    # 指定输出文件位置
    logfile=C:\\data\\sql.log
    # 使用日志系统记录 sql
    #appender=com.p6spy.engine.spy.appender.Slf4JLogger
    
    # 设置 p6spy driver 代理
    
    deregisterdrivers=true
    
    # 取消JDBC URL前缀
    
    useprefix=true
    
    # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
    
    excludecategories=info,debug,result,batch,resultset
    
    # 日期格式
    
    dateformat=yyyy-MM-dd HH:mm:ss
    
    # 实际驱动可多个
    #driverlist=org.h2.Driver
    # 是否开启慢SQL记录
    outagedetection=true
    # 慢SQL记录标准 1 秒
    outagedetectioninterval=1
    

    通过mybatis-plus打印日志如下

     Consume Time:9 ms 2021-02-11 20:45:27
     Execute SQL:select *,sd.name as department_name from sys_user su left join sys_department sd on su.department_id=sd.id where su.id=2
    
     Consume Time:9 ms 2021-02-11 20:47:40
     Execute SQL:select *,sd.name as department_name from sys_user su left join sys_department sd on su.department_id=sd.id where su.id=2
    

    相关文章

      网友评论

        本文标题:Mybatis-Plus 开发环境打印sql到控制台以便分析

        本文链接:https://www.haomeiwen.com/subject/dyusbktx.html