Mysql 查看记录执行的sql

项目上需要对执行的sql进行优化,使用的ORM框架为JPA,在配置项开启了打印语句后,拼接的参数却没法一起携带过来

spring:jpa:database: mysqlshow-sql: trueuse_sql_comments: true

后台打印输出如下

这种带有参数占位符的SQL不方便直接执行,需要先获取对应位置的参数然后手动替换占位符的参数,为了更好直观的看到效果,显然是输出拼接好参数的SQL 更为方便,一番搜索后,大失所望目前没有什么很优雅方便的实现,要么修改日志参数,新增jar包依赖日志打印,要么依赖第三方框架如P6spy。

为了达到即时查看执行的完整sql的目的,几番碰壁后就把目光对准了mysql本身,用mysql自带的日志记录功能来查看它刚收到的sql是什么样的,设置如下

-- 设置执行日志输出以表的形式记录
set global log_output = 'TABLE';
-- 开启执行日志记录
set global general_log = 'ON';
-- 这里是查询时间倒叙,过滤条件为博主的ip ,可换成自己的过滤条件
select *from mysql.general_log where argument like '%select%' and user_host='root[root] @  [192.168.251.29]'
order by event_time desc;
-- 最后查完后 不用这个功能了 记得关掉 并清除掉日志
set global general_log = 'OFF';
truncate mysql.general_log;

附带一提,如果使用的连接工具是sqlyog,是可以直接查看日志里过滤出来的blob文本的,如果是navicat 是不能直接查看的,需要对着字段点击文本才行,如下图所示,我们开启日志输出执行语句后,看到了刚才执行的拼接好参数的语句

而且博主这里是测试库,所以可以直接操作数据库,所以不能操作数据库的情况下想查看完整的SQL语句,需要靠其它方案实现,这里附录一下。

传送门

日志打印sql 实现https://blog.csdn.net/qq_35387940/article/details/102561244

P6spy实现
https://www.cnblogs.com/baby123/p/12610750.html

Hibernate打印携带参数的SQL解决方案相关推荐

  1. mybatis-plus打印带参数的sql日志

    #mabatis打印带参数的日志 logging:level:com.*.dao.mapper: DEBUG #包路径为mapper文件包路径 #mybatis-plus打印带参数的日志 #mybat ...

  2. 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...

    今天 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致的问题,郁闷我很长一段时间 执行的方法 ...

  3. java中sql语句怎么把开始和结束时间作为参数写sql查询_聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 引言 MyBatis 是一种持久层框架,介于 JDBC 和 Hi ...

  4. 扫描二维码打开微信小程序,携带参数,含配置和代码详解

    今天有个新需求,需要用户扫码打开我们小程序,需要携带信息记录邀请人是谁. 废话不多说,我们进入主题,首先要到小程序里面做配置.在开发管理里面,找到开发配置,往下滑到扫普通链接二维码打开小程序配置项里, ...

  5. android基础 [超级详细android Activity组件解析(Activity综述,Activity生命周期,Activity启动--携带参数启动)]

    1 章节目录 2 Android Activity综述 2.1 Activity怎么用 2.2 layout - 界面布局 2.3 Java - 控制界面 2.4 AndroidManifest.xm ...

  6. java回顾:MyBatis参数、sql片段、动态sql、高级查询

    目录 一.MyBatis参数 SqlSessiong工具类 1.映射文件配置-入参 1.1 parameterType入参 1.2 单个入参,变量名任意定义: 1.3 多个入参,解决方案: 1.4 p ...

  7. html如何携带参数自动跳转页面

    html携带参数自动跳转 项目背景: 实现目的: 实现方式 第一步:生成userId 第二步:跳转: 第三步:页面B接收参数 实现结果: 实现总结: 项目背景: 最近有一个项目,跳转页面的时候,不能让 ...

  8. 微信小程序携带参数的页面跳转

    日常我们在手机app购物的时候,点击app主页琳琅满目的商品,就会跳转到商品的具体页面. 无论我们点击哪个商品,跳转到商品具体页面的布局都是一样的,但页面内的数据不一样,比如说商品名称,图片等等不一样 ...

  9. 小程序分享并携带参数,方便做分销,拼团,返佣等功能

    最近在做社区团购和拼团类的功能,我们需要通过小程序分享给好友,让好友来助力,这个分享的时候,我们就要携带参数了,所以就顺便研究了下小程序分享并携带参数.其实代码很简单,就是测试的时候有些麻烦. 前期准 ...

最新文章

  1. Android 自定义View之3D骰子旋转
  2. 三星s窗口共享android,三星s窗口共享(SideSync pc端)
  3. 流行的编程语言,Audiophile Linux发行版,GNU,Bash,Raspberry PI,DevOps,GIMP等
  4. 前端:JS/29/实例:控制div显示_滚动的图片
  5. FormData对象
  6. leetcode python3 简单题119. Pascal's Triangle II
  7. 配置RedisTemplate、JedisPoolConfig、JedisConnectionFactory+自定义序列化 (xml+java方式)+使用...
  8. Android之Adapter用法总结-(转)
  9. scratch少儿编程与游戏:丛林狩猎
  10. 济南月薪一万是什么水平?
  11. win10计算机不显示usb,win10插入U盘不显示怎么办_解决win10u盘插电脑上不显示的办法...
  12. 中国十大会计师事务所排名公布!刚刚,中注协正式通知!
  13. 网络抓包与HTTP协议(采用wireshark、Fiddler抓包软件)
  14. 做最好的自己(李开复)
  15. 半闲居士视觉SLAM十四讲笔记(5)相机与图像 - part 2 图像及 OpenCV 操作、点云拼接
  16. 学生管理系统:含注册登录操作
  17. Vue源码翻译之渲染逻辑链
  18. jks与pkcs12格式的keystore互转
  19. 2018互联网实习秋招回顾(BATM+MS+Intel+NE+DJI)
  20. 国学入门书要目及其读法----梁启超

热门文章

  1. Qt 桌面悬浮画图软件--电子白板
  2. Linux桌面版安装及开发环境配置
  3. osgEarth的Rex引擎原理分析(一二四)osgEarth着色器文件与场景树节点的对应关系
  4. 深度系统deepin/uos动态壁纸
  5. 谷歌浏览器记住的密码如何查看
  6. 八百客、销售易、纷享销客各行其道
  7. 专访Vitalik:25岁身价30亿,最大的恐惧来自以太坊| 8问
  8. 先有鸿钧后有天,陆压道君还在前
  9. Openstack基础环境交换机常用配置(CISCO 3750G为例).md
  10. opencv 实现孔洞填充的两个解决方案 MATLAB--imfill功能(收集)