调试时打印出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:

p6spy

p6spy

3.7.0

再修改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没有格式,是一段纯文本,如果想要对它格式化,需要自己动手实现。

p6spy oracle,springboot p6spy 打印完整sql相关推荐

  1. springboot使用p6spy打印完整SQL

    springboot使用p6spy打印完整SQL pom 平常使用orm框架的时候,虽然在spring boot配置文件上面配置过orm的打印sql语句之后,并不会真正打印出完整的sql pom &l ...

  2. oracle完整建表,Oracle数据库建表完整sql

    -- CREATE TABLE 创建小程序卡片表 create table GIMDATA.GIM_CLOUD_MINIPROGRAM_CARD ( ID_GIM_CLOUD_MINIPROGRAM_ ...

  3. p6spy 完整 SQL 打印

    文章目录 前言 一.实现原理 二.p6spy 使用 前言 P6Spy 是一个框架,无需对现有应用程序进行任何代码更改,即可无缝拦截和记录数据库数据.通过 P6Spy 我们可以对 SQL 语句进行拦截, ...

  4. flyway和p6spy整合springboot

    一.项目结构 二.依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  5. mybatis-plus配置控制台打印完整带参数SQL语句

    问题背景 通常我们开发的时候,需要联合控制台和Navicat/PLSQL等工具进行语句的拼接检查,如果只是输出了一堆???,那么将极大降低我们的效率.因此我们需要输出完整的SQL语句以便调试. Upd ...

  6. p6spy——数据库日志追踪打印

    <dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId>< ...

  7. druid定义 java使用_druid 配置打印完整可执行的SQL

    druid 是支持 打印完整可以执行SQL的,只是 druid 默认不会打印.这点我觉得做得不够友好.这么好用的功能,居然默认隐藏 ? spring boot 配置 引入依赖 com.alibaba ...

  8. MybatisPlus:SQL语句打印、SQL分析、自定义主键值策略填充(IdType.INPUT)、动态表名、多租户、枚举、类型处理器、连表自定义SQL(使用wrapper)

    文章目录 1. 简单使用以及配置 - 带分页配置 2. 用法 2.0 Wrapper属性 2.1 @TableId - 自定义主键生成策略 2.2 @TableField - 自定义字段值填充 2.3 ...

  9. sql server jar包_老王,怎么完整SQL的显示日志,而不是???...

    点击蓝色"Java面试那些事儿"关注我哟 加个"星标",优质文章,第一时间送达 来源:http://1t.click/ag6q在常规项目的开发中可能最容易出问题 ...

  10. Oracle配置OneMap中的sql数据库问题及解决方案

    报错ORA-00900:无效SQL语句,点确定后报错:ORA--00942:表或视图不存在 分析:prompt在Oracle中是打印功能,如果要在PLsql中执行带有prompt的sql文件就会报上面 ...

最新文章

  1. MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet
  2. Apache2.2.21安装图解
  3. 略论bs架构设计的几种模式
  4. [美丽的烦恼] SQL删除某些字段重复的记录(只保留一条)
  5. Lua基础---lua字符串库函数详解,实例及正则表达式
  6. 随着电子计算机的应用 会计信息保存的形式,会计信息功系统简答题.doc
  7. php jq ajax 4个下拉框联动案列,AJAX_AJAX实现下拉框联动,想当年,为了实现三级联动, - phpStudy...
  8. RESTful源码笔记之RESTful Framework的基本组件
  9. eclipse设置Tomcat超级详细
  10. 深入剖析ConcurrentHashMap(2)
  11. 关于笔记本自动睡眠更改设置无用的解决办法
  12. 腾讯视频VIP会员,周卡特价9.5元!
  13. AR技术与VR技术哪个更能代表未来?
  14. php程序设计专用周报告,《php程序设计》实验论文报告.doc
  15. android进度条随时间走,每天一点Android干货-时间与日期、进度条
  16. 2020年9月电子学会Python等级考试试卷(四级)考题解析
  17. C/C++描述 LeetCode 周赛 第199场周赛(阿里云专场)
  18. Blob的所有Type类型
  19. 转:分布式视频编码关键技术及其发展趋势
  20. 【系统性学习】Linux Shell常用命令

热门文章

  1. 树莓派与阿里云服务器进行socket通信
  2. 人脸识别门禁系统需求分析文档
  3. 电子科技大学格拉斯哥学院英文教材使用效果
  4. abb机器人过载报错_ABB机器人驱动模块温度警告及保养方案简介
  5. 产品分析报告—网易云音乐
  6. SMBv3 BSoD 0day
  7. Hexo Next 主题字体相关配置
  8. 进销存系统(1):开源ECP编译安装
  9. 最新计算机java毕业设计题目选题推荐2023
  10. 原来win7专业版64位 MBR方式安装win10专业版_x86