news 2026/6/25 14:05:57

SqlToy Navigator 插件介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SqlToy Navigator 插件介绍

SqlToy Navigator 插件介绍

插件定位

SqlToy Navigator 是一款面向 SqlToy ORM 项目的 IntelliJ IDEA 插件,用于提升 Java 代码与 XML SQL 定义之间的导航、阅读和维护效率。

插件核心解决的问题是:在 SqlToy 项目中,Java 代码通常通过字符串形式引用 XML 中的sqlId,当项目规模变大后,开发者需要频繁在 Java 类、XML 文件和全局搜索结果之间切换,定位成本高,也容易维护错误的 SQL。

SqlToy Navigator 将这种依赖搜索的低效流程,升级为 IntelliJ IDEA 原生的双向导航体验。

核心功能

1. Java 到 XML 精确跳转

在 Java 代码中的sqlId字符串上使用Ctrl + Click,或者点击左侧图标,即可跳转到 XML 中对应的 SQL 定义。

示例 Java 代码:

lightDao.find("view_user_list", queryParam, User.class);

对应 XML SQL 定义:

<sql id="view_user_list"> SELECT * FROM TEST_TABLE </sql>

2. XML 到 Java 反向定位

在 XML 的<sql id="...">定义处,可以通过行标记跳转回 Java 中引用该sqlId的位置,方便快速判断 SQL 被哪些业务代码使用。

3. 双向行标记提示

插件会在 JavasqlId和 XMLid属性旁显示导航图标,让 SQL 引用关系在编辑器中直接可见。

4. sqlId 自动补全

在 Java 字符串中编写sqlId时,插件可以基于 XML 中已有 SQL 定义提供补全候选,并显示来源文件,降低拼写错误概率。

5. 重复定义友好处理

如果项目中存在重复的sqlId定义,插件会保留多个目标,由 IDEA 显示目标选择器,让开发者自行选择跳转位置。

6. XML SQL 高亮增强

插件会对 XML<sql>标签中的 SQL 正文进行高亮,包括:

  • SQL 关键字
  • 表名
  • 表别名
  • 字段别名
  • 函数
  • 命名参数
  • 字符串
  • 数字
  • 注释
  • 操作符

7. SqlToy 命名参数识别

插件支持识别:paramName形式的 SqlToy 命名参数,并进行特殊高亮,方便开发者区分 SQL 字段与运行时参数。

8. 未引用 SQL 提示

对于没有被 Java 代码引用的 XMLsqlId,插件会进行置灰提示,帮助开发者发现可能已经废弃的 SQL 定义。

9. SQL 块内单词高亮

在当前 SQL 块中选中字段、别名或参数时,插件会高亮同一 SQL 片段内的整词出现位置,方便检查字段引用关系。

10. Java 代码中常量定义识别

在当前 Java 代码中,很多时候会使用常量定义 sqlId,最后在调用处直接使用常量变量,这会使得在跳转 XML SQL 时候格外复杂,本插件也会在常量 SQL 常量变量左侧显示导航图标,方便检查字段引用关系。

插件优势

定位更准确

SqlToy Navigator 不是简单的字符串搜索,而是基于 IntelliJ IDEA 的 PSI、文件索引和缓存机制识别 Java 字符串与 XML SQL 定义之间的关系,减少普通字符串带来的干扰。

操作更自然

插件复用 IDEA 原生的跳转、补全、行标记和编辑器高亮能力,开发者不需要改变已有开发习惯。

维护更高效

开发者可以直接从 Java 跳转到 XML SQL,也可以从 XML SQL 反查 Java 使用位置,大幅减少手动搜索和文件切换。

风险更低

通过sqlId补全、重复定义多目标选择、未引用 SQL 置灰等能力,插件可以降低拼写错误、误跳转和误维护的风险。

阅读体验更好

XML 中的 SQL 不再是普通文本,关键字、表名、别名、函数和参数都有清晰的视觉区分,更接近独立 SQL 文件的阅读体验。

对大项目更友好

插件使用 IDEA 文件索引、候选文件预筛选、文件级缓存和索引状态保护机制,避免在大型项目或索引未完成时影响编辑器响应。

适用场景

SqlToy Navigator 适用于以下项目和团队:

  • 使用 SqlToy ORM 的 Java 项目
  • sqlId数量较多、维护成本较高的项目
  • 经常需要从 Java 代码定位 XML SQL 的开发者
  • 希望识别未使用 SQL、降低历史 SQL 清理风险的开发者
  • 希望提升 XML SQL 阅读体验的开发者

兼容信息

当前插件源码版本:1.0.5

版本要求:

  • IntelliJ IDEA 2024.1.1+

一句话总结

SqlToy Navigator 让 SqlToy 项目中的sqlId像 Java 方法引用一样可导航、可补全、可维护,把低效的字符串搜索升级为 IntelliJ IDEA 原生的双向 SQL 定位体验。

最后:欢迎下载插件体验,有问题回复,看到有时间会进行更正!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 14:04:59

桌牌批量生成工具使用教程,免安装座位牌打印程序下载

上周被老板叫去做会议桌牌&#xff0c;200多个名字要一个一个手敲。说实话&#xff0c;那种复制粘贴到眼花的绝望&#xff0c;做过的人都懂。后来同事给我推了个小工具&#xff0c;不用装&#xff0c;解压就能跑。批量导入才是核心这工具最实用的地方是能识别Excel多列数据。把…

作者头像 李华
网站建设 2026/6/25 14:03:05

Genie 3世界模型:从AI生成到可交互物理模拟的范式跃迁

1. 这不是视频生成器&#xff0c;而是一扇通往可交互数字世界的门你有没有试过对着一张风景照发呆&#xff0c;心里想着“要是能走进去走一圈该多好”&#xff1f;或者在设计一个游戏关卡时&#xff0c;反复调整3D建模软件里的地形参数&#xff0c;花掉一整个下午却只改出几棵树…

作者头像 李华
网站建设 2026/6/25 14:02:38

从零学习Kafka:生产者分区机制

分区的核心逻辑 在从零学习Kafka&#xff1a;集群架构和基本概念一文中&#xff0c;我们了解了 Kafka 中分区的概念&#xff0c;它的主要作用一个是支持系统的可伸缩性&#xff0c;另一个是负载均衡。 生产者在写入数据时&#xff0c;实际是要写入到指定的分区。换句话说分区…

作者头像 李华
网站建设 2026/6/25 14:01:16

时间序列预测精度提升实战:校准时间戳与消除信息失真

1. 项目概述&#xff1a;这不是又一篇“LSTM吊打ARIMA”的爽文&#xff0c;而是一份实操中反复撕开、揉碎、再拼好的精度提升手记“Practical Nuances of Time Series Forecasting — Part II— Improving Forecast Accuracy”这个标题里藏着三个关键信号&#xff1a;Practical…

作者头像 李华
网站建设 2026/6/25 14:00:53

3步攻克抖音直播数据采集技术挑战:构建高性能弹幕抓取工具

3步攻克抖音直播数据采集技术挑战&#xff1a;构建高性能弹幕抓取工具 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2025最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 在直播电商和内…

作者头像 李华
网站建设 2026/6/25 14:00:50

Strapi:开源无头 CMS,后端内容管理这一块它拿捏了

文章目录Strapi&#xff1a;开源无头 CMS&#xff0c;后端内容管理这一块它拿捏了1、 这玩意儿是干嘛的2、 核心能力3、 请求处理流程4、 安装和上手5、 适合什么场景Strapi&#xff1a;开源无头 CMS&#xff0c;后端内容管理这一块它拿捏了 strapi 在 GitHub 上已经拿到 72.4…

作者头像 李华