跳过至内容

MBMyBatis 转换器

加载中...

MyBatis 是 Java 生态系统中最广泛使用的 SQL 映射框架。MyBatis 查询包含 #{param}、${param} 等参数绑定,以及 <if>、<where>、<choose> 等动态标签,难以直接在数据库客户端执行。此工具根据参数值评估动态标签,生成可执行的 SQL;也可将纯 SQL 转换为 MyBatis XML 映射器模板。

使用说明

  1. 1
    选择标签页

    使用”MyBatis → SQL”标签评估动态标签并将参数替换为实际值。使用”SQL → MyBatis XML”标签将纯 SQL 转换为 MyBatis XML 映射器格式。

  2. 2
    输入查询

    在输入区粘贴您的 MyBatis/iBatis 查询或纯 SQL。#{param} 自动识别为 MyBatis 3,#param# 自动识别为 iBatis 2。

  3. 3
    设置参数 (MyBatis → SQL)

  4. 4
    查看并复制

    查看转换后的 SQL 或 MyBatis XML 并将其复制到剪贴板。

小技巧

  • 💡支持 MyBatis 3 动态标签:<if test="x != null">、<where>、<set>、<choose>/<when>/<otherwise>、<trim>、<foreach>。
  • 💡支持 iBatis 2 动态标签:<isNotEmpty>、<isEmpty>、<isNotNull>、<isNull>、<isEqual>、<isGreaterThan> 等,以及 <dynamic prepend="WHERE">。
  • 💡填入参数值则包含对应条件块;留空则自动删除该块。<![CDATA[...]]> 包装器也会自动去除。
  • 💡#{param} 使用 PreparedStatement 绑定(值被引号包裹)。${param} 是字符串替换(按原样插入)。
  • 💡所有处理均在浏览器中完成,敏感查询不会上传。

常见问题

Q. 为什么需要MyBatis参数转换?
A. MyBatis日志中SQL的?占位符与参数值分开输出。本工具将?替换为实际值,生成可直接在数据库客户端执行的SQL。
Q. 支持哪些参数类型?
A. 支持字符串、数字、布尔值、null和日期类型。字符串会自动添加引号,null转换为SQL的NULL关键字。
Q. 为什么使用Prepared Statement?
A. 防止SQL注入攻击,并通过缓存查询执行计划提高性能。MyBatis的#{}语法使用Prepared Statement。

DevHelper

© 2026. 保留所有权利。