springboot p6spy 打印完整sql
调试时打印出sql的需求,太正常不过了,mybatis也提供了这样的功能:
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
但它打印的sql里,含有占位符?
==> Preparing: select id, name WHERE id in (?,?,?,?,?,?)
==> Parameters: 1001(String), 1002(String), 1003(String), 1101(String), 1102(String), 1103(String)
<== Columns: ID, NAME
<== Row: 1101, 1101
<== Row: 1102, 1102
<== Row: 1103, 1103
<== Total: 3
不能直接把sql拿出来放在plsql中执行。
p6spy 提供了这样的功能。
官方地址:https://github.com/p6spy/p6spy
之前的版本,需要下载p6spy.jar包,现在有了maven已经不用了。
直接在项目中pom.xml添加gav:
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.7.0</version>
</dependency>
再修改application.yml配置文件即:
spring:
datasource:
url: jdbc:p6spy:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = **)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = **) ))
username: test
password: test
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
注意修改两处:url中jdbc:p6spy**** 和添加driver-class-name即可
再次运行程序,就可以在项目的根目录中,看到生成的日志文件spy.log

如果想把日志输出到控制台的话,需要添加配置文件:spy.properties
在里面只需要写一名句就够了:
appender=com.p6spy.engine.spy.appender.StdoutLogger
运行后如下:

这样的日期肯定接受不了,还需要继续改配置文件了:再加一句:
dateformat=yyyy-MM-dd HH:mm:ss

默认生成的日志文件,有点意思,它生成的两遍sql,一次是带占位符的,一次是正常的sql. 我们把正常的sql直接拿到plsql中可以直接运行。
默认生成的sql没有格式,是一段纯文本,如果想要对它格式化,需要自己动手实现。
springboot p6spy 打印完整sql的更多相关文章
- log4jdbc打印完整SQL
		
一.log4jdbc简单介绍: log4jdbc是工作在jdbc层的一个日志框架,能够记录SQL及数据库连接执行信息. 一般的SQL日志会把占位符和参数值分开打印,log4jdbc则会记录数据库执行的 ...
 - 曹工杂谈--使用mybatis的同学,进来看看怎么在日志打印完整sql吧,在数据库可执行那种
		
前言 今天新年第一天,给大家拜个年,祝大家新的一年里,技术突突突,头发长长长! 咱们搞技术的,比较直接,那就开始吧.我给大家看看我demo工程的效果(代码下边会给大家的): 技术栈是mybatis/m ...
 - laravel 打印完整sql语句
		
laravel5 用DB自带的getQueryLog方法直接打印: DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::fi ...
 - laravel 打印完整sql
		
DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::find(1); dump(DB::getQueryLog());
 - p6spy打印SQL
		
一 Springboot项目 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</a ...
 - SpringBoot打印MyBatis sql日志输出
		
SpringBoot打印MyBatis sql日志输出 默认情况下mybatis是不开启SQL日志输出,需要手动配置 方法一:(在mybatis整合在springboot框架的情况下) 只需要在配置文 ...
 - javaweb log4j显示完整sql日志
		
javaweb显示完整sql日志 所需jar包: log4j-1.2.17.jar log4jdbc-1.2.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12 ...
 - SpringBoot整合Mybatis完整详细版
		
记得刚接触SpringBoot时,大吃一惊,世界上居然还有这么省事的框架,立马感叹:SpringBoot是世界上最好的框架.哈哈! 当初跟着教程练习搭建了一个框架,传送门:spring boot + ...
 - 保存 Mybatis打印的SQL日志到数据库
		
之前做项目,一般会有一张,用户操作记录的数据表,里面主要包括一些,用户请求的URL和请求参数,用以记录用户做过哪些事情.并没有以文件的形式来做记录,当然只适合于一些用户量特别少的系统. 而Mybati ...
 
随机推荐
- centos7上安装iptables
			
centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...
 - linux设置安全连接设置(私钥)
			
1.私钥制作工具:puttygen 连接工具:xshell和putty. 2.制作私钥和公钥 a.打开puttygen点击Generate生产公钥和私钥(鼠标需要晃动,进度条才会前进) b. 设置标签 ...
 - 如何用css给input的placeholder设置颜色
			
我在做页面的时候遇到过这种情况,在input标签中有默认字,但是设计稿上的颜色和input标签中的placeholder的默认颜色不一致.虽然我们可以在js中写出,但是有点过于麻烦了. 所以我就用cs ...
 - Zabbix邮件告警提示Couldn't resolve host name解决办法
			
zabbix设置好邮件告警,当有触发时邮件未发送 查看zabbix server日志,提示不能连接邮件发送服务器,但是ping是可以通的
 - D2 Magic Powder -1/- 2---cf#350D2(二分)
			
题目链接:http://codeforces.com/contest/670/problem/D2 This problem is given in two versions that differ ...
 - Checkpoint的运行原理和源码实现
			
引言 Checkpoint 到底是什么和需要用 Checkpoint 解决什么问题: Spark 在生产环境下经常会面临 Transformation 的 RDD 非常多(例如一个Job 中包含1万个 ...
 - adb shell top 命令
			
原文地址https://blog.csdn.net/kittyboy0001/article/details/38562515 原文地址https://blog.csdn.net/u010503912 ...
 - 关于eval 与new Function 到底该选哪个?
			
废话不多说,直接上测试代码 复制代码 代码如下: var aa = "{name:'cola',item:[{age:11},{age:22},{age:23},{age:23}]}&quo ...
 - SVD在餐馆菜肴推荐系统中的应用
			
SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...
 - PR曲线  ROC曲线的 计算及绘制
			
在linear model中,我们对各个特征线性组合,得到linear score,然后确定一个threshold,linear score < threshold 判为负类,linear sc ...