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

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

相关推荐
阿里云大数据AI技术7 小时前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
初次攀爬者10 小时前
Kafka 基础介绍
spring boot·kafka·消息队列
用户83071968408210 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Java水解12 小时前
SpringBoot3全栈开发实战:从入门到精通的完整指南
spring boot·后端
初次攀爬者1 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺1 天前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart1 天前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
Nyarlathotep01132 天前
SpringBoot Starter的用法以及原理
java·spring boot
dkbnull2 天前
深入理解Spring两大特性:IoC和AOP
spring boot
洋洋技术笔记3 天前
Spring Boot条件注解详解
java·spring boot