MyBatis日志还原SQL

粘贴 Preparing 与 Parameters 两行,按类型回填占位符生成可直接执行的 SQL

把 MyBatis 打印的预编译 SQL 日志还原成可执行语句:自动识别整段日志中的多组 Preparing / Parameters,按 String、数值、日期、Boolean 等类型把问号占位符替换为真实参数值,参数与占位符数量不匹配时给出红色警告。全部解析在浏览器本地完成,日志不会上传。

日志输入

自动扫描 Preparing: 与 Parameters: 两行并逐组配对还原,无需删除日志里的其他内容。

还原结果

粘贴 MyBatis 日志后,这里会显示还原出的可执行 SQL

#关于 MyBatis 日志还原 SQL

开发时经常需要把 MyBatis 打印的预编译 SQL 与参数拼回完整语句,放到数据库客户端里直接执行来排查问题。手动替换问号既繁琐又容易错位,本工具按日志中的类型标注自动完成回填,支持一条日志里的多组 Preparing / Parameters,并在数量对不上时明确提示。

工作原理

工具先从日志中扫描 Preparing: 行取出预编译 SQL、扫描其后的 Parameters: 行取出参数列表;再按「值(类型)」的格式逐个拆分参数(兼容参数值自身含逗号、括号的情况),依据类型把每个问号占位符按顺序替换为对应写法的值,最后输出一条可直接执行的完整 SQL。

支持的参数类型

  • String / Char / varchar:加单引号,内部单引号转义为 \'
  • Long / Integer / Short / Byte / BigDecimal / Double / Float:数值原样输出
  • Date / Timestamp / LocalDateTime:格式化为 'YYYY-MM-DD HH:mm:ss'
  • Boolean:输出 true / false
  • null:输出 NULL
  • 无类型标注:能当数字就按数字输出,否则加引号按字符串输出

常见问题

  • 还原的 SQL 会不会不安全?工具只在本页面内完成文本替换,日志与结果都不会上传服务器;还原出的 SQL 请仅在测试环境执行。
  • 为什么提示数量不匹配?说明 Preparing 里的问号个数与 Parameters 的参数个数对不上,常见原因是日志被截断、动态 SQL 拼接了额外的问号,或复制时漏了某个参数。
  • 支持一条日志多组 SQL 吗?支持。整段日志模式会自动把每组 Preparing 与紧随其后的 Parameters 配对,逐组还原并分别展示、分别复制。

相关工具推荐

Spine动画编辑器

专业的Spine动画预览和编辑工具,支持多引擎导出

热门 新品 本地

SQL查询优化器

分析SQL查询并提供优化建议

热门 新品 本地

JVM启动参数配置

可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项

热门 新品 本地

代码片段转换

不同编程语言间代码片段转换(如Python↔JavaScript)

热门 新品 本地

IP地址查询

查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6

热门 新品 本地

JSON转TypeScript接口

根据JSON数据自动生成TypeScript类型定义

热门 新品 本地

相关教程