首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CodeBuddy + GLM-5.3 Flash 实战:SpringBoot+MyBatis 复杂 JSON 结算 SQL 开发,省积分踩坑记录

CodeBuddy + GLM-5.3 Flash 实战:SpringBoot+MyBatis 复杂 JSON 结算 SQL 开发,省积分踩坑记录

原创
作者头像
用户12884952
修改于 2026-11-09 14:05:40
修改于 2026-11-09 14:05:40
150
举报

作为一名 Java 后端开发,日常大量写 CRUD、MyBatis XML、复杂 MySQL SQL,经常要处理结算单表头 JSON 批量更新、多表联查、CASE WHEN 空值处理这类业务。之前一直在用 CodeBuddy,早期直接用 GLM-5.3 模型,积分消耗速度很快,免费额度经常不够用。

后面发现了 GLM-5.3 Flash,价格只有原版十分之一,而且支持看图、解析截图报错、读取文档,对于我们后端日常开发性价比极高。本文分享我在 IDEA 插件里切换模型、写复杂 JSON 更新 SQL、调试 MyBatis 的完整实战,同时分享 CodeBuddy 社区发文赚积分的玩法。

一、GLM-5.3 和 GLM-5.3 Flash 怎么选(Java 后端视角)

很多人分不清两个模型的定位,我结合后端开发场景总结:

  1. GLM-5.3(原版):推理上限高,适合架构设计、深度疑难 bug 排查、超复杂长链路 Agent;缺点是积分消耗巨高,长文本、大代码上下文很容易快速耗光积分,不适合日常高频调用,而且不支持看图。
  2. GLM-5.3 Flash:原生多模态模型,KV 缓存优化很大,长上下文成本低很多。日常写 SpringBoot、MyBatis、MySQL、批量 SQL、解析 IDE 报错截图、解析接口返回报文、写 DTO、VO、Entity 完全够用。DeepSWE 编程 bench 略弱原版,但普通业务开发感知很小。

我的结论:90% 后端日常开发,直接固定 GLM-5.3 Flash,省下大量积分留给真正需要深度推理的难题。

二、IDEA 插件切换 GLM-5.3 Flash 步骤

  1. 打开 IDEA,侧边栏打开 CodeBuddy 插件
  2. 模型下拉选择框,找到 GLM-5.3 Flash
  3. 确认模型后,后续所有对话、代码生成、重构、解释报错都会走 Flash
  4. 查看消耗:codebuddy.ai 右上角头像 → 用量,可看积分消耗明细

小技巧:遇到特别难排查的底层 bug,临时切回 GLM-5.3;写完立刻切回 Flash,控制积分消耗。

三、实战案例:MySQL JSON 字段批量更新(结算单表头)

业务场景:结算管理表 t_hhzy_company_settle_header_manage,header 字段是 JSON 数组,需要批量修改数组内对象属性,MySQL5.7 没有 JSON_TABLE,手写循环存储过程非常麻烦。 我直接把需求丢给 CodeBuddy(Flash 模型),提示词:

MySQL5.7,表 t_hhzy_company_settle_header_manage,header 是 text 存 JSON 数组,数组元素包含 key、name、isShow、sortNum,写存储过程循环遍历 JSON 数组,批量修改 isShow 字段,兼容数组长度不固定,最后压缩成单行 SQL 方便直接粘贴到 Navicat 执行,增加校验 SQL。

AI 直接输出了可运行的存储过程,同时附带校验 SQL,帮我规避了几个坑:

  1. MySQL5.7 不支持 JSON_TABLE,不能直接 SQL 遍历数组
  2. JSON_REPLACE 路径写错会直接不生效
  3. 数组长度不一致,硬写固定下标会出现部分数据不更新(就是我之前踩过的:14 条数据只改 12 条)

下面是生成的简化示例 SQL:

代码语言:javascript
复制
-- 校验SQL,先看数据
SELECT id,header FROM t_hhzy_company_settle_header_manage LIMIT 10;

拿到代码之后,我只做少量微调,直接放到 Navicat 执行,节省了大量写循环、调试 JSON 函数的时间。

这类业务场景,是后端非常典型的痛点:JSON 存储、动态表头、批量结算,CodeBuddy 配合 Flash 模型,既能看懂业务描述,又能产出适配 MySQL5.7 兼容的代码,还能给校验脚本。

四、MyBatis 配套开发:XML 动态 SQL、CASE WHEN、NULL 值处理

后端经常遇到多条件查询、状态聚合、空值判断,手写 MyBatis 动态 SQL 很容易漏判 null,出现索引失效。 我常用的提示模板:

写 MyBatis XML,多条件分页查询,入参是 DTO,status 为空的时候不拼接条件,使用 CASE WHEN 做状态翻译,注意判空,防止索引失效,返回标准分页结构。

Flash 模型生成的 XML 代码质量稳定,很少出现低级语法错误,对比原版,积分消耗低很多,反复迭代修改也不心疼。

搭配 IDEA 插件、社区发文赚积分,能把 CodeBuddy 的使用成本压到很低,提升写 SQL、写接口、排查报错的效率。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、GLM-5.3 和 GLM-5.3 Flash 怎么选(Java 后端视角)
  • 二、IDEA 插件切换 GLM-5.3 Flash 步骤
  • 三、实战案例:MySQL JSON 字段批量更新(结算单表头)
  • 四、MyBatis 配套开发:XML 动态 SQL、CASE WHEN、NULL 值处理
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档