MyBatis调试
识别 Mapper 方法、还原 SQL,并直接执行查看结果。
MyBatis 调试用于直接识别 Mapper 方法,根据用户填写的参数还原出最终 SQL,并在选择数据源后直接执行 SQL、查看结果集。它适合在不启动完整 HTTP 调用链的情况下,快速验证 Mapper 参数、动态 SQL 和数据库返回结果。
功能概览
- 自动识别当前方法是否为 MyBatis Mapper 方法。
- 根据方法参数还原 MyBatis 最终执行 SQL。
- 支持预览 SQL 和参数绑定结果。
- 选择数据源后可直接执行 SQL,并查看查询结果或执行反馈。
- 点击 MyBatis 图标可跳转到 XML 中对应的 Mapper 方法。
参数构造
进入 MyBatis 调试后,插件会根据 Mapper 方法签名生成参数输入区域。用户填写参数后,Cool Request 会把参数传入 MyBatis 解析流程,用于处理 #{}、${}、if、foreach、where 等动态 SQL 逻辑。
基础参数示例:
10001对象参数示例:
{
"userName": "Tom",
"status": 1,
"startTime": "2026-06-01 00:00:00",
"endTime": "2026-06-05 23:59:59"
}集合参数示例:
[10001, 10002, 10003]提示
如果 Mapper 方法有多个参数,建议在方法参数上使用 @Param 指定名称,便于动态 SQL 和参数还原稳定匹配。
SQL 还原
填写参数后,可预览根据当前参数还原出的 SQL。插件会结合 Mapper 方法、XML 或注解 SQL、动态标签和用户参数,生成本次调用实际对应的 SQL 内容。
例如 Mapper 方法:
List<User> selectByCondition(UserQuery query);XML:
<select id="selectByCondition" resultType="com.example.User">
select * from user
<where>
<if test="userName != null and userName != ''">
and user_name = #{userName}
</if>
<if test="status != null">
and status = #{status}
</if>
</where>
</select>当参数为:
{
"userName": "Tom",
"status": 1
}SQL 预览会还原出当前参数命中的动态 SQL 分支,方便检查条件是否生效、参数是否正确绑定。
注意
SQL 还原结果取决于当前填写的参数。参数为空、字段名不匹配或 @Param 名称不一致时,动态 SQL 分支可能不会按预期生成。
选择数据源并执行
如果只需要检查 SQL,可直接查看 SQL 预览;如果需要验证数据库返回结果,可选择一个已配置的数据源后执行。
执行流程:
- 打开 Mapper 方法的 MyBatis 调试入口。
- 填写方法参数。
- 预览还原后的 SQL。
- 选择要执行的数据源。
- 点击执行,查看结果集、影响行数或异常信息。
查询语句执行后会展示结果集,便于直接确认数据是否符合预期。更新、删除、插入等语句会展示执行反馈,便于确认影响行数。
警告
对 insert、update、delete 等有副作用的 SQL,执行前请确认数据源和参数,避免误操作生产或重要数据。
跳转 XML 方法
对于 XML Mapper,点击 MyBatis 图标可以跳转到 XML 中对应的方法位置。这个入口适合在调试 SQL 时快速检查原始 XML、动态标签和字段映射。
跳转依赖 Mapper 接口方法与 XML 的映射关系,通常包括:
- XML
namespace与 Mapper 接口全限定名一致。 - XML 语句
id与 Mapper 方法名一致。 - 项目中的 XML 文件已被 IDE 正确识别。
例如:
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectById" resultType="com.example.User">
select * from user where id = #{id}
</select>
</mapper>在 UserMapper.selectById 方法上点击 MyBatis 图标后,可直接跳转到 XML 中的 selectById 语句。
调试建议
- 先预览 SQL,再选择数据源执行,减少误操作。
- 多参数 Mapper 方法优先使用
@Param,避免参数名解析不稳定。 - 动态 SQL 没有按预期生成时,重点检查参数字段名、空值判断和 XML 中的
test表达式。 - 执行查询前确认数据源环境,执行写操作前确认 SQL 和参数。
- 需要修改 SQL 时,可通过 MyBatis 图标跳转到 XML 方法位置后再调整。