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

<dependency><groupId>com.github.gavlyukovskiy</groupId><artifactId>p6spy-spring-boot-starter</artifactId><version>1.11.0</version>
</dependency>

配置

application.yml

spring:datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3308/springboot3-admindriver-class-name: com.p6spy.engine.spy.P6SpyDriverurl: jdbc:p6spy:mysql://127.0.0.1:3306/springboot3-adminusername: rootpassword: 123456decorator:datasource:p6spy:# 日志格式log-format: "[executionTime]:%(executionTime) ms  [sql]:%(sqlSingleLine)"

SpringBoot2+Mybatis

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

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

需要添加 spy.properties 配置

引入依赖

pom.xml

<dependency><groupId>com.github.gavlyukovskiy</groupId><artifactId>p6spy-spring-boot-starter</artifactId><version>1.11.0</version>
</dependency>

配置

application.yml

spring:datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://127.0.0.1:3308/springboot3-admindriver-class-name: com.p6spy.engine.spy.P6SpyDriverurl: jdbc:p6spy:mysql://127.0.0.1:3306/springboot3-adminusername: rootpassword: 123456

spy.properties

# 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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87925.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FLUX.1-Kontext 高效训练 LoRA:释放大语言模型定制化潜能的完整指南

在人工智能领域&#xff0c;尤其是大型语言模型&#xff08;LLM&#xff09;的应用浪潮中&#xff0c;高效、低成本地定制模型行为已成为关键需求。LoRA&#xff08;Low-Rank Adaptation&#xff09;技术以其参数高效、资源节省的特性脱颖而出。而 FLUX.1-Kontext 作为一款创新…

群晖 DS3617xs DSM 6.1.7 解决 PhotoStation 安装失败问题 PHP7.0

群晖 DS3617xs DSM 6.1.7 解决 PhotoStation 安装失败问题 PHP7.0问题描述解决方案1. 准备所需文件2. 检查当前 PHP 版本3. 安装 PHP 版本5. 查询已安装好的套件6. 升级 PHP 版本7. 手动安装套件PhotoStation注意事项总结问题描述 在群晖 DS3617xs DSM 6.1.7-15284 版本中&…

pnpm 升级

pnpm 的安装源太多了&#xff0c;感觉系统变量都有引入顺序。 今天踩坑记录&#xff1a; pnpm &#xff0c;如果最初用npm 装的&#xff0c;可以用npm 升级&#xff1b; 如果最初用brew 装的&#xff0c;得用brew 升级&#xff1b; 如果最初是用corepack 装的得用corepack 升级…

[C#] WPF - 资源URI

一、组成 1、资源URI总共包括4个部分(当前程序集可以省略前3个)&#xff1a; ①&#xff1a;pack://application:,,, ②&#xff1a;/[程序集名称] ③&#xff1a;;Component ④&#xff1a;/[资源路径] 二、举例 项目结构如下图所示&#xff1a; 1、MainWindow.xaml 文件…

【Mysql系列】Mysql 多级隔离级别揭秘

目录 一、什么是隔离级别 1.1、为什么复合操作需要事务&#xff1f; 1.2、事务的 ACID 特性如何保障操作可靠性&#xff1f; 1.3、隔离性通过隔离级别来控制 二、为什么用多级隔离级别 2.1、事务并发执行时可能引发以下问题 2.1.1、脏读&#xff08;Dirty Read&#xff…

odoo17 警示: selection attribute will be ignored as the field is related

在 Odoo 17 中&#xff0c;当使用 related 字段时&#xff0c;直接在 fields.Selection 中指定选择列表会被忽略&#xff08;因为选择项会从关联字段继承&#xff09;。wtd_fuwlx fields.Selection(服务类型 , relatedwtd_id.fuwlx, storeTrue)遇到了一个警告&#xff0c;提示…

gemma-3n-E2B多模态模型使用案例:支持文本、图像、语音输入

参考&#xff1a; https://developers.googleblog.com/en/introducing-gemma-3n-developer-guide/下载&#xff1a; https://modelscope.cn/models/google/gemma-3n-E2B-it 模型下载 运行代码&#xff1a; https://github.com/huggingface/huggingface-gemma-recipes 微调&…

计算机网络实验——互联网安全实验

实验1. OSPF路由项欺骗攻击和防御实验一、实验目的验证路由器OSPF配置过程。验证OSPF建立动态路由项过程。验证OSPF路由项欺骗攻击过程。验证OSPF源端鉴别功能的配置过程。验证OSPF防路由项欺骗攻击功能的实现过程。二、实验任务使用自己的语言简述该实验原理。如图1所示的网络…

Pytorch中torch.where()函数详解和实战示例

torch.where() 是 PyTorch 中非常常用的一个函数&#xff0c;功能类似于 NumPy 的 where&#xff0c;用于条件筛选或三元选择操作。在深度学习训练、掩码操作、损失函数处理等场景中非常常见。一、基本语法 torch.where(condition, x, y)condition&#xff1a;一个布尔张量&…

基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主项目介绍&#xff1a;基于Hadoop的公共自行车数据分布式存储与计算平台设计与实现数据介绍数据预处理 Hadoop 集群的几个主要节点介绍1. NameNode&#xff08;主节点&#xff09;2. DataNod…

Java项目:基于SSM框架实现的程序设计课程可视化教学系统【ssm+B/S架构+源码+数据库+毕业论文】

摘 要 使用旧方法对程序设计课程可视化教学信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在程序设计课程可视化教学信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题…

Unity 实现 NPC 随机漫游行为的完整指南

在游戏开发中&#xff0c;NPC&#xff08;非玩家角色&#xff09;的行为逻辑对于营造真实、沉浸式的游戏世界至关重要。一个常见但又极具表现力的需求是&#xff1a;让 NPC 在场景中自然地随机移动&#xff0c;仿佛它们有自己的意识和目的地。 本文将详细介绍如何使用 Unity 的…

重新学习Vue中的按键监听和鼠标监听

文章目录按键事件1. 使用 keyup.enter 修饰符2. 使用 v-on 监听键盘事件3. 在组件上监听原生事件Vue 2Vue 34. 全局监听键盘事件注意事项鼠标事件1. 基本鼠标事件监听常用鼠标事件2. 事件修饰符3. 鼠标按键检测4. 鼠标位置信息5. 自定义指令监听鼠标事件6. 组合鼠标事件7. 性能…

vue2启动问题以及解决方案

vue2启动时&#xff1a;ERROR Invalid options in vue.config.js: "typescript.validate.enable" is not allowed如果需要在 VSCode 中控制 TypeScript 验证&#xff1a;在项目根目录创建 .vscode/settings.json 文件&#xff08;如不存在&#xff09;添加以下配置&a…

Vue响应式系统:从原理到核心API全解析

响应式原理 响应式机制的主要功能就是&#xff0c;可以把普通的JavaScript对象封装成为响应式对象&#xff0c;拦截数据的读取和设置操作&#xff0c;实现依赖数据的自动化更新。 Q: 如何才能让JavaScript对象变成响应式对象&#xff1f; 首先需要认识响应式数据和副作用函数…

水下目标检测:突破与创新

水下目标检测技术背景 水下环境带来独特挑战&#xff1a;光线衰减导致对比度降低&#xff0c;散射引发图像模糊&#xff0c;色偏使颜色失真。动态水流造成目标形变&#xff0c;小目标&#xff08;如1010像素海胆&#xff09;检测困难。声呐与光学数据融合可提升精度&#xff0…

高通SG882G平台(移远):2、使用docker镜像编译

其实之前已经编译过了。今日搜索时发现&#xff0c;只有当时解决问题的汇总&#xff0c;没有操作步骤。于是记录下来。 建议使用Ubuntu20 LTS。 安装docker $ sudo apt update $ sudo apt install docker.io $ sudo docker -v Docker version 27.5.1, build 27.5.1-0ubuntu3…

轻松上手:使用Nginx实现高效负载均衡

接上一篇《轻松上手&#xff1a;Nginx服务器反向代理配置指南》后&#xff0c;我们来探讨一下如何使用Nginx实现高效负载均衡。 在当今高并发、大流量的互联网环境下&#xff0c;单台服务器早已无法满足业务需求。想象一下&#xff1a;一次电商平台的秒杀活动、一个热门应用的…

身份证号码+姓名认证接口-身份证二要素核验

身份证号实名认证服务接口采用身份证号码、姓名二要素核验的方式&#xff0c;能够快速确认用户身份。无论是新用户注册&#xff0c;还是老用户重要操作的身份复核&#xff0c;只需输入姓名及身份证号&#xff0c;瞬间即可得到 “一致” 或 “不一致” 的核验结果。这一过程高效…

自动驾驶基本概念

目录 自动驾驶汽车&#xff08;Autonomous Vehicles &#xff09; 单车智能 车联网 智能网联&#xff08;单车智能车联网&#xff09; 自动驾驶关键技术 环境感知与定位 车辆运动感知 车辆运动感知 路径规划与决策 自动驾驶发展历程 自动驾驶应用场景 自动驾驶路测…