本文主要是介绍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语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!