写点什么

Mybatis sql 参数自动填充

作者:源字节1号
  • 2023-09-14
    浙江
  • 本文字数:739 字

    阅读完需:约 2 分钟

Mybatis sql参数自动填充

问题描述

在日常开发中,经常会遇到 Mybatis sql 语句的操作问题,由于 Mybatis 实现 sql 的动态拼接,开发过程中,为了验证 sql 是否书写正确,通常需要获取的控制台打印的 sql 语句来检查是否拼接正确。如下图所示:



那么为了验证 sql 的正确性,需要复制控制台 sql 以及 sql 参数,手工进行拼接后在数据库连接工具(比如 navicat)里面执行查看执行结果,如下图:



那么问题来了,当遇到 sql 很长,参数很多时,手工的填充 sql 参数就会显得很费力且耽误时间。下面介绍一个简单的办法来帮助我们实现参数快速填充。

问题处理

当遇到一个很复杂的 sql 需要拼接参数时,如果还是单出的通过手工填充 sql 参数的方式就会很耽误时间,且手工补充参数容易出错,如下图中的 sql:



整个 sql 美化后的 sql 有 840 行,中间涉及到的 sql 的参数也有很多。



这种情况下如果还采用手工补充 sql 参数的方式就会得不偿失,即耽误时间,且补充过程容易出错,那么是否有一款好的工具可以解决呢?答案是有的,idea 有一款插件叫做 Mybatis Log Convert,查看插件的解释说明 。



可以看到这款插件正好可以解决我们遇到的问题,安装插件之后再来查看刚才的 sql,选中需要自动填充参数的 sql 以及参数信息。



点击如图 mybatis 日志解析后可以看到如下图所示:



待看到右下角的提示信息之后,去 sql 查询工具 Ctrl+V 粘贴。



可以看到参数已经正确填充到 sql 位置了,直接执行查询即可,这样是不是很方便很快捷呢?

在使用中需要注意,选中日志中 sql 语句时需要同时选中 Preparing 和 Parameters,如果没有同时选中以上两个关键词的话会进行错误提示。



但其参数和 sql 语句是分开的,因此同时选中 Preparing 和 Parameters 又是一个烦心事。所以我们推荐使用 Mybatis Log Free,可以在控制台直接输出完整的 Sql 语句。



如若转载,请注明出处:开源字节   https://sourcebyte.vip/article/339.html

用户头像

源字节1号

关注

一个着迷于技术又喜欢不断折腾的技术活跃者 2022-03-09 加入

一个着迷于技术又喜欢不断折腾的技术活跃者。喜欢并热爱编程,执着于努力之后所带来的美好生活!

评论

发布
暂无评论
Mybatis sql参数自动填充_开源_源字节1号_InfoQ写作社区