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

相关推荐
刘一说几秒前
Java中基于属性的访问控制(ABAC):实现动态、上下文感知的权限管理
java·网络·python
java1234_小锋几秒前
高频面试题:Java中如何安全地停止线程?
java·开发语言
虫小宝3 分钟前
淘宝返利软件的日志审计系统:Java Logback+ELK Stack实现操作日志的可追溯与可视化分析
java·elk·logback
铁蛋AI编程实战4 分钟前
Falcon-H1-Tiny 微型 LLM 部署指南:100M 参数也能做复杂推理,树莓派 / 手机都能跑
java·人工智能·python·智能手机
yangminlei4 分钟前
Spring Boot 4.0.1新特性概览
java·spring boot
C+-C资深大佬9 分钟前
C++多态
java·jvm·c++
WJX_KOI9 分钟前
保姆级教程:Apache Seatunnel CDC(standalone 模式)部署 MySQL CDC、PostgreSQL CDC 及使用方法
java·大数据·mysql·postgresql·big data·etl
柚子科技9 分钟前
毕业设计不用愁:一个免费的 SQL 转 ER 图在线工具,真香!
数据库·sql·毕业设计·课程设计·毕设
鸽芷咕11 分钟前
从 Query Mapping 到函数缓存,KingbaseES 高级 SQL 调优手段全揭秘
数据库·sql·缓存·金仓数据库
大鹏说大话13 分钟前
SQL Server 触发器实战全解:用对是利器,用错是灾难
数据库·sql·mysql