当前位置: 首页 > news >正文

Chrome扩展插件MyBatis SQL Log Merger使用教程

MyBatis SQL Log Merger 是一个Chrome扩展程序,帮助开发者将MyBatis SQL日志合并成完整的SQL语句,便于调试和分析。

相关链接

  • 项目主页
  • 使用教程

功能特点

  • 解析MyBatis日志输出,提取SQL模板和参数
  • 自动将参数合并到SQL模板中,形成完整的可执行SQL
  • 简洁的UI界面,包含输入和输出字段
  • 支持复杂的参数类型,包括Long、String、Timestamp等
  • 三种交互模式:弹出窗口、独立页面和页面按钮
  • 界面简洁直观
  • SQL格式化和语法高亮
  • 可折叠的使用说明和示例
  • 复制到剪贴板功能
  • 双输入模式:单框模式(粘贴完整日志)或双框模式(分别输入SQL模板和参数)
  • 灵活的输入解析:单框和双框模式都支持带或不带Preparing:/Parameters:前缀的输入
  • 可配置的URL模式用于页面按钮显示
  • 多语言支持(中文/英文)

安装方法

  1. 克隆或下载此仓库
  2. 打开Chrome浏览器,访问chrome://extensions/
  3. 在右上角启用"开发者模式"
  4. 点击"加载已解压的扩展程序",选择包含此扩展的目录

项目结构

sql-log-merge/ ├── css/ │ └── styles.css # 独立页面样式 ├── images/ │ ├── icon16.png # 扩展图标 (16x16) │ ├── icon48.png # 扩展图标 (48x48) │ └── icon128.png # 扩展图标 (128x128) ├── js/ │ ├── business/ # 业务逻辑JavaScript文件 │ │ ├── collapsible.js # 可折叠面板功能 │ │ ├── content.js # 页面交互的内容脚本 │ │ ├── popup.js # 弹出窗口逻辑 │ │ └── standalone.js # 独立页面逻辑 │ └── vendor/ # 第三方库 │ └── sql-formatter.min.js # SQL格式化库 ├── manifest.json # Chrome扩展清单文件 ├── popup.html # 弹出窗口HTML ├── standalone.html # 独立页面HTML ├── settings.html # 设置页面HTML ├── README.md # 此文件 ├── sample-input.txt # 示例MyBatis日志输入 └── expected-output.txt # 示例输入对应的预期SQL输出

使用方法

该扩展提供三种方式来合并MyBatis SQL日志:

1. 弹出窗口(默认)
  1. 点击Chrome工具栏中的扩展图标
  2. 将MyBatis日志输出粘贴到输入字段中
  3. 点击"处理"按钮生成合并后的SQL语句
  4. 完整的SQL将显示在结果区域
2. 独立页面
  1. 点击Chrome工具栏中的扩展图标
  2. 点击"打开独立页面"打开独立页面
  3. 使用独立页面界面处理您的日志
输入模式

独立页面提供两种可切换的输入模式:

  1. 单框模式(默认)

    • 在一个文本区域中粘贴完整的MyBatis日志

    • 示例:

      ==> Preparing: SELECT * FROM users WHERE id = ? AND name = ? ==> Parameters: 123(Long), "John"(String)
  2. 双框模式

    • 分别输入SQL模板和参数

    • SQL模板和参数都支持带或不带前缀的输入

    • SQL模板(任一格式均可):

      Preparing: SELECT * FROM users WHERE id = ? AND name = ?

      SELECT * FROM users WHERE id = ? AND name = ?
    • 参数(任一格式均可):

      Parameters: 123(Long), "John"(String)

      123(Long), "John"(String)
3. 页面按钮
  1. 导航到任何网页
  2. 选择页面上的MyBatis日志文本
  3. 点击右下角出现的绿色"提取MyBatis SQL"按钮
  4. 合并后的SQL将在警告对话框中显示
配置页面按钮显示

默认情况下,页面按钮不会在任何网站上显示。您可以配置哪些网站应该显示该按钮:

  1. 点击Chrome工具栏中的扩展图标
  2. 点击"设置"打开设置页面
  3. 在"网页过滤设置"部分,添加您希望显示按钮的URL模式
  4. URL模式示例:
    • https://example.com/*- 匹配example.com上的所有页面
    • *://*.example.com/*- 匹配example.com及其子域上的所有页面(任意协议)
    • https://grafana.test.cn/- 仅匹配此特定URL

独立页面功能

独立页面提供增强功能:

  1. 可折叠说明:点击"使用说明"或"示例"标题可展开/折叠部分

  2. 输入模式切换:在单框和双框输入模式之间切换

  3. 灵活输入解析:两种模式都支持带或不带Preparing:/Parameters:前缀的输入

  4. 增强按钮控制

    • 处理SQL:将MyBatis日志转换为SQL
    • 美化SQL:格式化并高亮显示SQL语句(处理后启用)
    • 拷贝结果:将SQL复制到剪贴板(处理后启用)
    • 清空:重置所有字段
  5. 专业SQL格式化:使用sql-formatter库进行专业的SQL格式化

  6. 集成格式化和高亮:"美化SQL"按钮现在结合了格式化和语法高亮功能

  7. 响应式设计:适应不同屏幕尺寸

示例

输入:

2025-12-15T15:09:29.971Z||f55726b11267623a1c5de0b06a5d718f|313/445|[thread-pool-asyncServiceExecutor12]||f55726b11267623a1c5de0b06a5d718f-TID: N/A - 485> ==> Preparing: select * from user where userId=? 2025-12-15T15:09:29.971Z||f55726b11267623a1c5de0b06a5d718f|314/446|[thread-pool-asyncServiceExecutor12]||f55726b11267623a1c5de0b06a5d718f-TID: N/A - 554> ==> Parameters: 10(Integer) 2025-12-15T15:09:29.972Z||f55726b11267623a1c5de0b06a5d718f|315/447|[thread-pool-asyncServiceExecutor12]||f55726b11267623a1c5de0b06a5d718f-TID: N/A - 17> <== Total: 1

输出:

select * from user where userId = 10

支持的参数类型

  • Long
  • String
  • Integer
  • Double
  • Float
  • Boolean
  • Timestamp
  • Date
  • NULL值

限制

  • 目前仅适用于基本的SELECT、INSERT、UPDATE、DELETE语句
  • 复杂的嵌套参数结构可能无法完全支持
  • 不验证生成的SQL的语法正确性

GitHub - liuyueyi/ai-chrome-mysql-merge: MyBaits Mapper Debug log to Sql

http://www.jsqmd.com/news/204775/

相关文章:

  • Prometheus+Grafana监控面板:可视化展示服务健康度
  • 2026年长三角屋面换瓦公司推荐:靠谱的屋顶换瓦品牌企业有哪些? - mypinpai
  • 2026年青岛高新区优质楼盘推荐:金茂中欧国际城靠不靠谱? - myqiye
  • Docker镜像瘦身实战:将容器体积压缩80%以适配低端边缘设备(附脚本)
  • 2026智慧电力智能化服务商TOP5推荐:西南区域引领者重庆览辉信息 - 工业品网
  • 【Docker故障排查实战指南】:20年专家揭秘容器异常终止的5大元凶及应对策略
  • ST最新推出的CMSIS-Driver,一套驱动完成对所有STM32系列的驱动支持
  • 2025国自然放榜!现在备战2026,这些关键节点你必须知道
  • 【紧急预警】生产环境Docker容器莫名消失?揭开stopped与removed状态背后的隐患
  • 【Docker微服务部署终极指南】:10个高效自动化脚本实战秘籍
  • 基于深度学习的中文手写数字识别系统研究与实现 - 教程
  • 【边缘计算+Docker深度整合】:为什么90%的项目在设备适配阶段失败?
  • chales常用功能-反向代理
  • Docker如何征服边缘计算设备?:3个关键技术突破让你少走5年弯路
  • 强化学习驱动的指数期权动态对冲策略设计与实现
  • Docker国内镜像源加速VibeThinker-1.5B-APP部署全流程详解
  • LSTM神经网络在指数期权隐含波动率预测中的实证研究
  • MSI Creator系列内容创作辅助:AI驱动生产力革新
  • 【Docker运维避坑指南】:3步定位健康检查失败真因
  • 程序员必看!数字化转型从入门到精通:一篇搞定连接、数据、智能、组织、架构、价值(建议收藏)
  • 开源项目赞助计划:优质项目可获赠VibeThinker部署资源
  • 2026年上海全屋定制品牌推荐:聚焦高端住宅案例的5强榜单盘点 - 品牌推荐
  • 深度学习驱动的指数期权定价与波动率建模技术实现
  • 计算机毕业设计springboot基于hadoop的早教订课数据统计与分析系统 基于SpringBoot+Hadoop的幼儿课程预约数据洞察平台 融合Hadoop大数据的早教选课行为可视化分析系统
  • InfoQ技术峰会演讲申请:面向专业架构师群体传播
  • 2026年热门的柚木全屋定制,柚木整木,柚木定制厂家用户优选排行 - 品牌鉴赏师
  • 跟我学C++中级篇——取地址操作
  • 计算机毕业设计springboot城市交通管理系统 基于SpringBoot的智慧城市道路交通调度平台 SpringBoot+MySQL构建的城区交通流在线管控系统
  • 2026年上海全屋定制品牌推荐:5大实力品牌深度解析与横向对比评测。 - 品牌推荐
  • 基于LSTM模型的订单流数据量化交易策略构建