SQL分析与打印-p6spy组件

有性能消耗,只推荐在非生产环境下使用

SpringBoot3+MybatisPlus

https://baomidou.com/guides/p6spy/

MyBatis-Plus提供了SQL分析与打印的功能,通过集成p6spy组件,可以方便地输出SQL语句及其执行时长。本功能适用于MyBatis-Plus 3.1.0及以上版本。

对于Spring Boot项目,可以使用p6spy-spring-boot-starter来简化集成过程。

引入依赖

pom.xml

xml 复制代码
<dependency>
    <groupId>com.github.gavlyukovskiy</groupId>
    <artifactId>p6spy-spring-boot-starter</artifactId>
    <version>1.11.0</version>
</dependency>

配置

application.yml

yaml 复制代码
spring:
  datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3308/springboot3-admin
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://127.0.0.1:3306/springboot3-admin
    username: root
    password: 123456
    
decorator:
  datasource:
    p6spy:
      # 日志格式
      log-format: "[executionTime]:%(executionTime) ms  [sql]:%(sqlSingleLine)"

SpringBoot2+Mybatis

这个版本集成中,使用上面的配置不生效

yaml 复制代码
decorator:
 datasource:
   p6spy:
     # 日志格式
     log-format: "[executionTime]:%(executionTime) ms  [sql]:%(sqlSingleLine)"

需要添加 spy.properties 配置

引入依赖

pom.xml

xml 复制代码
<dependency>
    <groupId>com.github.gavlyukovskiy</groupId>
    <artifactId>p6spy-spring-boot-starter</artifactId>
    <version>1.11.0</version>
</dependency>

配置

application.yml

yaml 复制代码
spring:
  datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3308/springboot3-admin
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://127.0.0.1:3306/springboot3-admin
    username: root
    password: 123456

spy.properties

bash 复制代码
# spy.properties
appender=com.p6spy.engine.spy.appender.StdoutLogger
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
customLogMessageFormat=[executionTime]:%(executionTime) ms  [sql]:%(sqlSingleLine)
# 如果你希望将日志输出到文件,可以这样配置:
# appender=com.p6spy.engine.spy.appender.FileLogger
# logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat
# file=spy.log

如有帮到你可以点赞,收藏或鼓励一下(^_^),谢谢,有什么疑问可以评论交流互相学习

相关推荐
givemeacar15 分钟前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
养生技术人43 分钟前
Oracle OCP认证考试题目详解082系列第5题
运维·数据库·sql·oracle·开闭原则
Mr.45671 小时前
Spring Boot集成Redis:单机、哨兵、集群三种模式统一配置实战
spring boot·redis·bootstrap
lay_liu1 小时前
Spring Boot 自动配置
java·spring boot·后端
anzhxu4 小时前
SpringBoot 3.x 整合swagger
java·spring boot·后端
小江的记录本4 小时前
【Bean】JavaBean(原生规范)/ Spring Bean 【重点】/ 企业级Bean(EJB/Jakarta Bean)
java·数据库·spring boot·后端·spring·spring cloud·mybatis
中国胖子风清扬4 小时前
Camunda 8 概念详解:梳理新一代工作流引擎的核心概念与组件
java·spring boot·后端·spring cloud·ai·云原生·spring webflux
yhole4 小时前
Spring Boot整合Redisson的两种方式
java·spring boot·后端
sthnyph4 小时前
Spring Boot 集成 Kettle
java·spring boot·后端
殷紫川5 小时前
吃透 Spring Boot 3 + Spring Cloud 云原生新特性
spring boot·spring cloud·架构