MyBatis 日志 SQL 提取与参数还原工具

免费在线 MyBatis / MyBatis-Plus 控制台日志 SQL 参数还原工具。自动提取 Preparing 和 Parameters 行,智能识别数据类型并将占位符问号替换为实际值,生成可直接在数据库客户端运行的完整可执行 SQL 语句。100% 浏览器纯前端运行,安全无泄漏风险。

100% 浏览器本地运行 · 零数据上传
输入或粘贴控制台日志 (含 Preparing & Parameters) 未检测到 SQL
还原后的可执行 SQL
就绪

为什么需要 MyBatis 日志 SQL 还原工具?

在基于 Spring Boot + MyBatis / MyBatis-Plus 的日常 Java Web 后端研发与生产故障排查中,开发者最常做的一件事就是去应用日志或 IDEA 控制台中查看具体执行了什么 SQL。

然而出于安全性与 JDBC 标准设计,MyBatis 底层采用的是 PreparedStatement 预编译机制,控制台输出的日志永远是“骨肉分离”的两行(甚至在多线程高并发下交织在一起):

  • ==> Preparing: SELECT id, username, email FROM sys_user WHERE (username = ? AND status = ?)
  • ==> Parameters: admin(String), 1(Integer)

如果是一两条带两三个参数的简单查询,人工还可以手动替换;但遇到带有十几个字段的 INSERT 批量插入,或是复杂的 IN (?, ?, ?...) 动态条件,手动拼装不仅极度枯燥费时,还容易搞错引号或类型,导致在 Navicat、DBeaver 或 DataGrip 中反复报错。

本工具专为解决这一高频痛点设计:只需将整段控制台日志粘贴进来,系统自动识别匹配、按参数类型补全单引号、转义特殊符号,并一键格式化生成开箱即用的完整 SQL。

MyBatis 参数类型智能识别与转换对照表

MyBatis 日志参数标记 Java 数据类型 SQL 还原结果 处理逻辑说明
admin(String) java.lang.String 'admin' 自动添加单引号,内部单引号自动转义为 ''
10086(Long) / 25(Integer) Long / Integer / Short 10086 / 25 整数类型保留原生数值,不加任何引号
299.50(BigDecimal) BigDecimal / Double 299.50 高精度浮点数值保留字面量
true(Boolean) / false(Boolean) Boolean true / false (或 1 / 0) 提供通用布尔值或 MySQL TINYINT(1) 兼容模式切换
2026-11-01 14:00:00(Timestamp) Timestamp / Date / LocalDateTime '2026-11-01 14:00:00' 日期时间自动补充单引号以符合标准 SQL 语法规范
null / null(String) 任意包装类型的 null NULL 安全转换为 SQL 关键字 NULL(无引号)

核心优势与安全承诺

  1. 100% 浏览器纯前端解析:您的业务日志中往往包含客户姓名、手机号、手机验证码、企业关键财务数据或订单号。本工具全部在您的本地浏览器 JS 引擎中解析,绝不向任何第三方后端接口或服务器发送日志数据,完全杜绝企业敏感信息泄露!
  2. 智能支持混杂日志:控制台复制的内容往往带有时间戳 2026-11-01 14:20:18.421 [http-nio-8080-exec-1] DEBUG ... 以及其他干扰字符,工具能够精准提取目标 SQL,无需人工预先清理。
  3. 支持批量多条 SQL 一次性还原:如果事务内连续执行了 5 条语句,工具可自动拆解出全部 5 条 SQL,并加上 [SQL #1] 序号注释,方便逐条排查执行结果。