SpringBoot项目中使用p6spy实现打印拼接好的sql语句
现在很多Java项目都是用的mybatis对数据库进行操作
在开发调试的过程中,SpringBoot项目可以通过配置,把mybatis的sql打印出来,但是配置完成后,打印出来的sql是预编译的sql,而不是拼接完成的sql,就是那种带问号的sql,然后问号具体的值是在下一行的Parameters里打印出来的,每次看sql的时候,还需要自己复制出来,然后手动把问号替换掉,这样就很不方便,是不是有点烦。
所以,今天就给大家介绍一个非常好用的工具,来解决上边的问题
这个工具就是p6spy,好,下面就是开始配置使用
1、导入依赖
<dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.9.1</version>
</dependency>
2、修改application.yml配置文件
如上图,配置文件里需要改两个地方:
(1)数据库配置的url里加上p6spy:
url: jdbc:p6spy:mysql://x.x.x.x:3306/xxxx?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
(2)driver-class-name换成:com.p6spy.engine.spy.P6SpyDriver
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
3、添加spy.properties配置文件
在resources 目录下新建一个spy.properties配置文件
把以下内容复制进去
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台
#appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 使用日志系统记录 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,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2
4、测试效果
可以看到控制台里打印出来的sql已经是拼接好的,完整sql了
SpringBoot项目中使用p6spy实现打印拼接好的sql语句相关推荐
- MyBatis Plus整合p6spy控制台打印美化格式的sql语句
简介: p6spy配合mybatis plus可以在控制台打印出指定格式已执行的sql语句,便于开发人员分析和调试.下面介绍一下p6spy的简单配置和使用 使用: 一.引入p6spy依赖包: < ...
- SpringBoot项目中对mysql数据库进行定时备份为sql文件的实现思路
场景 在SpringBoot搭建的项目架构中,为了防止数据库被清库或者误删数据库的情况. 所以需要一个定时将mysql的数据库中的数据进行备份成sql文件,并将重要的sql文件通过邮件服务器的方式 发 ...
- SpringBoot项目中遇到的BUG
1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run you ...
- pycharm项目中如何安装包_如何将Thymeleaf技术集成到SpringBoot项目中
给天气预报一个"面子" 截至目前,不仅有了天气预报的API接口,也有了数据的缓存方案.现在,就要进行天气预报服务的实现,也就是说,这里需要一个面向用户的应用.这个应用应该拥有友好的 ...
- 基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率
基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率 1.拉取logstash,kibana,es,mysql镜像 #命令 ...
- 【SpringBoot项目中使用Mybatis批量插入百万条数据】
SpringBoot项目中使用Mybatis批量插入百万条数据 话不多说,直接上代码,测试原生批处理的效率 开始测试 背景:因为一些业务问题,需要做多数据源,多库批量查询.插入操作,所以就研究了一下. ...
- SpringBoot12 QueryDSL01之QueryDSL介绍、springBoot项目中集成QueryDSL、利用QueryDSL实现单表RUD、新增类初始化逻辑...
1 QueryDSL介绍 1.1 背景 QueryDSL的诞生解决了HQL查询类型安全方面的缺陷:HQL查询的扩展需要用字符串拼接的方式进行,这往往会导致代码的阅读困难:通过字符串对域类型和属性的不安 ...
- 亲测简单易懂可用:阿里云OSS入门实战2(集成到SpringBoot项目中存放用户头像)
亲测简单易懂可用:阿里云OSS入门实战2(集成到SpringBoot项目中存放用户头像) 大噶好,我们继续延续上一章,学习如何使用OSS存放用户头像代码示例; 在application.propert ...
- 一步步教你如何在SpringBoot项目中引入支付功能
听说微信搜索<Java鱼仔>会变更强哦! 本文收录于JavaStarter ,里面有我完整的Java系列文章,学习或面试都可以看看哦 (一)引言 支付功能如今已经成为一个需要盈利的网站的基 ...
- Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?
Spring-Boot:Spring-Boot写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的 ...
最新文章
- linux eclipse web插件,使用Tomcat插件开发WEB应用
- easyui 1.4.2 Tab刷新图标重复问题
- 漫扯:从polling到Websocket(ZZ)
- 使命召唤 战区:战术竞技新思路,卷入RPG元素的激烈战斗
- 最全的cisco ios下载,思科ios下载
- docker mysql 日志在哪里_docker容器启动后日志在哪里
- LNMP之NGINX篇
- Java基础(三)——反射、代理
- 什么样的生意一本万利?
- 单片机c语言跑马灯实验报告,单片机跑马灯实验报告
- 小小知识点(三十六)EXCEL闪退解决办法
- 如何查看AT24C02设备地址
- At least one JAR was scanned for TLDs yet contained no TLDs.
- 猫哥教你写爬虫 049--完结撒花
- ST7703 LCM显示屏调试--基于MT6765
- 高德地图定位、添加定位图标、连线(一)
- 基于FPGA的数据采集—信号产生篇
- html的表单可以加背景图片,如何装饰表单的背景和字符
- UI自动化测试框架-从入门到精通
- Oracle数据库中的instr函数的用法