自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 Doris 数据录入方案实战

本文详解数据交互服务中台中 Doris 数据录入的双通道设计:异步(Kafka削峰)与同步直写(限流+即时反馈)。核心落地为统一使用 Stream Load 写入内核,通过动态列合并、64MB分批、幂等 label 及严格模式保障高效与可靠。重点揭示 partial_columns 实现 UPSERT、strip_outer_array 展平数组、strict_mode 零容忍校验等实战细节,避免静默丢弃与数据污染,可复用于高并发数据接入场景。

2026-10-24 17:28:32 463

原创 第 19 篇 综合项目:AI 能力网关与向量库选型复盘

本文复盘了AI能力网关与向量库选型,聚焦六种能力整合后的共性问题:跨供应商、多协议、路径复杂。提出四层网关架构——接入、路由、治理、观测,实现统一入口与可观测性。每层独立开关,支持运行期动态控制,通过关闭某层验证其作用。结合配置开关与对照实验,确保行为可解释、故障可追溯。最终以2086行代码构建无模型调用的“能力中枢”,实现安全、可控、可度量的AI服务集成。

2026-09-26 17:54:53 326

原创 第 18 篇 多模态二:图像生成

本文探讨图像生成链路的实践难题:模型接口定位、字段失效与生成不确定性。通过实验发现,虽模型在清单中存在,但因端点不匹配导致404错误,需以空请求体验证路径可用性;Spring AI框架中responseFormat字段被忽略,需依赖网关校验;生成结果受提示词影响显著,同一提示生成八图差异大,凸显提示词为建议而非指令。全链路涵盖同步等待、三种回传方式及双闭环验证,强调“出图非确定性”本质,提出以最小请求探路、网关判错、实测延迟等实战策略。

2026-09-26 17:54:38 279

原创 第 17 篇 多模态一:视觉理解

本文探讨多模态视觉理解的核心问题:图像输入如何有效传递、成本如何构成、模型输出可信度及潜在风险。通过实验验证,仅部分型号支持图像输入,且“清单存在”不等于“可用”。图像处理成本主要来自像素级解析与思维链计算,导致token消耗激增。测试表明,低分辨率图可能被模型“编造”文字,而图像描述本身会作为不可信输入影响后续检索与生成。文章强调需以可控图像测试模型表现,并警惕视觉输入带来的隐性风险。

2026-09-26 17:54:18 344

原创 第 16 篇 实践四:代码与文档搜索

本文探讨代码检索与文档检索的本质差异,强调代码切分需以声明行为边界,确保结果可定位修改。提出基于正则的切块策略,兼顾效率与准确性,并设计包含路径、行号、符号等字段的代码块结构。通过八种接口实现多路检索与融合,实测134个文件生成1069个代码块,验证了向量、全文及混合检索的有效性,揭示了切块错误导致漏检的严重后果。

2026-09-26 17:53:58 373

原创 第 15 篇 实践三:合同审查

合同审查不同于问答,核心在于输出必须结构化、可验证。模型需返回字段及其原文依据,确保可被程序核对。关键挑战包括:全文读取(因字段位置未知)、偏移定位自检、四层校验(JSON解析、Schema、引文溯源、数值自洽)。整条链路以程序为主导,模型仅负责理解,确保结论可追溯、可验证,杜绝“看不见的错误”。

2026-09-26 17:53:25 337

原创 第 14 篇 实践二:客服助手与 Tool Calling

本文通过实践客服助手的Tool Calling能力,解决知识库问答无法动态响应实时问题的局限。模型仅负责“请求调用”工具,执行权由框架掌控,确保安全可控。文章详解工具调用时序、五项关键机制(工具定义、选型、参数校验、异常处理、调用上限),并构建可观察的系统:提供多个调试接口,区分模型误判、参数错误、数据缺失与工具失败四类问题。通过真实调用验证,实现精准、可追溯的智能客服。

2026-09-24 09:11:10 356

原创 第 13 篇 实践一:企业知识库问答

本文构建企业级多轮知识库问答服务,通过引入会话管理、历史上下文与查询改写三要素,解决多轮对话中指代不清、历史误用与检索失效问题。设计分层架构,新增编排层实现会话状态维护、追问重写与上下文裁剪,并提供7个接口支持会话控制与诊断。采用租户隔离与动态阈值策略,实测表明0.3召回下限更适配多轮场景。会话存储基于进程内Map,结合过期清理与容量限制,保障性能与稳定性。

2026-09-24 09:10:39 573

原创 第 12 篇:引用溯源与数据脱敏

本文聚焦RAG系统中引用溯源与数据脱敏的矛盾,提出“可信边界”与“泄漏边界”的权衡。通过实测对比“写入前脱敏”与“返回前脱敏”两条路径:前者牺牲召回率保安全,后者保留原文供检索但存在泄露风险。核心在于掩码规则的合并策略——统一收集命中区间、按起点升序、长优先裁决冲突,避免规则互抢;同时强调正则需加边界断言(如(?<!\d)),否则易误伤合同号等非敏感字段。最终揭示:脱敏无完美解,唯有在召回率、安全性与准确率间明确选边。

2026-09-24 09:10:12 218

原创 第 11 篇:多租户隔离与权限过滤

本文聚焦多租户系统中的数据隔离与权限控制,强调租户(横向)与组权限(纵向)必须分离管理。通过请求头解析身份,强制由框架注入租户条件,防止调用方伪造或遗漏。写入侧以目录路径确定租户归属,以独立映射文件定义可见范围,避免权限泄露。关键细节包括:使用完整相对路径匹配权限规则、块ID基于租户+路径生成以防碰撞、并确保计数与ID生成口径一致。错误不表现为接口异常,而是“看似正确却含敏感数据”,需通过开/关隔离对比验证效果。

2026-09-24 09:09:39 337

原创 第 10 篇:拼上下文与生成——预算、边界与防幻觉

本文通过实测厘清大模型上下文管理三大核心问题:token换算比例为1:1.73,固定开销约164 token;预算应按实际需求设定,而非模型上限;超限时优先丢弃尾部块,仅最后一块可截断并加标记。关键发现:当资料缺失时,直接提问模型会“头头是道”,而RAG系统反而诚实回应“无相关内容”,这是防止幻觉的唯一可靠机制。

2026-09-24 09:09:08 248

原创 第 09 篇:重排——Rerank 与 RRF

本文探讨检索流程中“重排”(Rerank)的关键作用:在粗筛后的候选结果中,通过融合query与候选文本的模型打分,实现更精准排序。实测发现,即使向量库从Elasticsearch换为Qdrant,重排结果不变,揭示了重排环节对后端切换的鲁棒性。相比仅融合名次的RRF,重排能引入新信息、推翻原有排名,显著提升相关性判断精度。同时指出,阿里云百炼的重排接口需使用原生协议,与兼容模式不兼容,带来额外开发成本。最终强调,重排是连接检索与生成的核心桥梁,其输出直接影响上下文质量。

2026-09-23 19:01:27 265

原创 第 08 篇:检索——相似度阈值、元数据过滤与混合检索

本文深入解析检索三要素:相似度阈值、元数据过滤与混合检索。通过实测揭示阈值在检索后生效,仅筛选topK结果;元数据过滤在查询前裁剪候选集,两库行为一致但分数存在微小噪声。实验表明,合理设置阈值可避免“查不到”误判,而过滤条件需通过轻量DSL灵活配置。最终强调:检索效果90%取决于参数调优,需结合阈值扫描与多维度验证。

2026-09-23 19:01:15 186

原创 第 07 篇:VectorStore 抽象与 Elasticsearch 落地

本文深入解析Spring AI中VectorStore抽象与Elasticsearch的落地实现。通过接口抽象,应用仅依赖VectorStore,实现可无缝切换。核心在于:换库本质是配置变更,但实测发现需排除的是VectorStoreAutoConfiguration而非客户端,否则会因残留ElasticsearchClient导致逻辑错误。配置差异仅体现在index-name/collection-name、连接参数及排除项,代码零修改。关键启示:抽象层虽简化了切换,但对底层细节(如刷新机制)仍需深度理解

2026-09-23 19:00:57 356

原创 第 06 篇:Embedding 与相似度:分数到底是什么

本文深入解析Embedding向量化过程与相似度分数的本质:1024维向量经单位化处理,使余弦相似度退化为点积,实现高效检索;分数反映向量方向一致性,而非绝对值大小;同一文本多次调用结果完全一致,具备可复现性,为调试提供可靠基础。

2026-09-23 19:00:43 342

原创 第 05 篇:分块策略:按什么切、块多大、重叠多少

本文系统探讨分块策略的三大核心问题:切点选择、块大小设定与重叠设计。通过对比token、fixed、paragraph三类策略,揭示其在块长分布、语义完整性与可预测性上的差异。实测表明,token策略虽灵活但块长不均,fixed虽均匀却易腰斩句子,paragraph保语义完整但难控长度。文章提出将参数解耦为独立配置对象,支持快速实验,并通过 /chunks 接口实现零成本对照测试,强调“块切错则检索失效”的根本原则,最终以实测字符数而非配置值评估效果,确保策略选择有据可依。

2026-09-23 19:00:17 181

原创 第 04 篇:文档加载:PDF / Word / Markdown 到 Document

本文解决企业文档(PDF/Word/Excel)转为Document的难题。针对非文本格式需解析器,引入Tika统一处理二进制容器,实现按后缀分派读取器:.md用TextReader或MarkdownDocumentReader,其他用TikaDocumentReader。新增/parse接口可视化解析结果,排查“文件未入库”问题。实测显示,同一内容在不同格式中字符数差异源于标记、页眉页脚及表格处理方式,强调字符数非质量指标,需结合内容理解。

2026-09-22 18:47:44 219

原创 第 03 篇:RAG 全景:八个步骤与每一步的失败模式

本文系统解析RAG的八步流程,聚焦“模型不知之事如何答对”核心问题。通过真实语料测试,对比直接提问与RAG响应,凸显RAG的核心价值:答案可追溯、边界清晰。以最小闭环设计,拆解文档加载、分块、向量化、入库、检索等关键步骤,揭示各环节常见失败模式(如文本丢失、元数据缺失、召回错误)。强调第4、5步元数据管理的重要性,并通过独立检索接口实现故障定位。最终验证从加载到生成的完整链路,确保答案基于可信资料,杜绝模型幻觉。

2026-09-22 18:46:49 121

原创 第 02 篇:第一个 Spring AI 应用:ChatClient 与 Advisor

本文通过对比 ChatModel 与 ChatClient 的使用差异,揭示 Spring AI 框架的核心优势:通过链式调用与 Advisor 机制,实现提示词、日志、监控等横切关注点的统一管理。ChatClient 封装请求构建与默认配置,减少重复代码;Advisor 提供拦截点,实现耗时、Token 统计等非业务逻辑的自动注入,支持可复用、可组合的横切逻辑,显著提升开发效率与系统可观测性。

2026-09-22 18:46:14 113

原创 第 01 篇:框架选型:Spring AI / LangChain4j / Spring AI Alibaba

本系列选Spring AI 1.1.8为主框架,因其与Spring Boot生态深度契合、抽象设计稳定、扩展性强且版本可控。LangChain4j虽声明式简洁但迭代快、调试困难,适合作为非Spring项目的备选;Spring AI Alibaba虽功能丰富,但依赖阿里云栈且会掩盖底层配置逻辑,不适合作为主线学习。未来若需多智能体编排或企业级可观测性,可再考虑切换。

2026-09-22 18:45:25 112

原创 第 00 篇:从手写到框架,边界在哪

本阶段承接第一阶段手写实践,揭示重复劳动与业务数据孤岛问题。Spring AI 框架接管请求封装、流处理、向量化等通用逻辑,但业务知识、权限控制、引用溯源、评测兜底等核心决策仍需自主构建。强调“框架解决怎么调,不解决调什么、给谁调、对不对”。全程使用真实云服务(商汤+阿里云),验证多厂商模型拼装可行性,真实暴露限流、模型缺陷等问题。动手前须完成环境配置,确保 JDK 21、Maven、Elasticsearch、API Key 等全就绪,仅本地 Mock 可作临时兜底。

2026-09-22 18:44:36 581

原创 第 13 篇:综合项目 —— 无框架版 AI 能力网关 + 复盘

本文构建了无框架版AI能力网关,实现配置驱动、统一响应、全链路可观测与降级兜底。通过四层架构(业务、编排、容错、接入)解耦,仅需修改配置即可切换大模型供应商,业务代码零改动。统一返回结构确保降级时仍为200状态码,避免前端误判。复盘指出:无框架设计更灵活可控,适合定制化需求;而框架如Spring AI可简化通用逻辑,但需权衡灵活性与抽象成本。

2026-09-17 09:50:51 420

原创 第 12 篇:实践四 —— 工单回复建议

本实践构建工单回复建议系统,融合RAG检索、结构化输出与多重安全机制。通过语义召回知识片段确保回复有据可依,用真实检索结果覆盖模型自报引用,杜绝编造来源;设置敏感词检测与强制人工规则,涉及赔偿、投诉等内容一律转人工;全程落库可追溯。强调AI仅作助手,不自动发送,保障合规性与可审计性,实现安全可控的智能客服闭环。

2026-09-17 09:50:39 244

原创 第 11 篇:实践三 —— 表单 / 合同字段抽取

本文聚焦合同字段抽取的工程可靠性,强调“模型输出不可信”的原则。通过三道关卡(结构校验、后处理、一致性校验)确保输出安全:使用包装类型区分“缺失”与“零”,金额需在原文中可定位,日期统一归一并校验合法性,高风险字段强制进入人工复核队列。核心思想是:抽不准是模型问题,兜不住是系统责任。

2026-09-17 09:22:29 263

原创 第 10 篇:实践二 —— 内容分类

本文详解内容分类在大模型应用中的实践,强调标签互斥、低温度设置、置信度控制与双层防御机制。通过固定标签体系、提示词约束、服务端校验及降级兜底策略,有效解决模型不稳定、自创标签、高置信误判等问题,确保分类结果可靠可追溯,适用于生产环境。

2026-09-17 09:22:10 245

原创 第 09 篇:实践一 —— 文本摘要(Map-Reduce 分块)

文本摘要看起来是最简单的 AI 场景:一段文本进去,一段摘要出来,一个提示词的事。但一放到真实业务里,第一个撞上的墙就是:文章比上下文窗口还长。一份 3 万字的行业研报、一篇 5 万字的会议纪要、一份 8 万字的合同 —— 直接塞进 `messages` 里,要么超过模型的上下文窗口被截断,要么超出 `max-tokens` 报错,要么即使塞进去了,你也在为几十万 Token 付钱。这篇解决的就是这件事:用 Map-Reduce 分块,把「无限长」的输入变成「有限长」的调用。

2026-09-15 14:54:10 91

原创 第 08 篇:工程化 —— 超时、重试、限流、降级与异常处理

本文聚焦大模型调用的工程化容错设计,通过 AiResilience 统一管理超时、重试、限流与熔断。采用装饰器模式实现限流→熔断→重试的合理顺序,确保资源高效利用。基于错误码分段(4xxx/5xxx)精准判断是否重试,结合指数退避与预算控制,避免重试风暴。支持分级超时配置与 /ai/stats 可观测性,保障系统在上游不稳定时仍能稳定运行。

2026-09-15 14:53:57 278

原创 第 07 篇:Embedding 入门 —— 文本向量、余弦相似度、语义搜索

本文介绍Embedding在文本向量化、语义搜索中的核心作用,通过将文本映射为高维向量,利用余弦相似度实现语义相近内容的精准匹配。重点讲解了向量计算原理、余弦相似度优于欧氏距离的原因,并结合Java代码实现实现分批向量化、相似度计算与TopK检索。强调嵌入模型不可混用、换模型需重向量化、成本意识等三大红线,明确其作为RAG中“检索”环节的关键角色,提升大模型应用的知识召回能力与回答准确性。

2026-09-15 14:53:20 322

原创 第 06 篇:SSE 流式输出 —— Spring Boot 返回打字机效果

本文详解 Spring Boot 实现 SSE 流式输出的完整流程,通过 WebClient 接收上游流式数据,使用 SseEmitter 转发至前端,实现“打字机”效果。重点解决三大核心问题:Reactor 的 map 不能返回 null(改用 handle 过滤)、[DONE] 非 JSON 格式需提前截断、MDC 线程隔离导致 traceId 丢失。结合实际场景,优化首字节响应时间,提升用户感知体验,同时处理客户端断开、超时与错误等异常路径,确保流式通信稳定可靠。

2026-09-15 14:53:06 328

原创 第 05 篇:结构化输出 —— 让模型稳定返回 JSON

本文详解大模型结构化输出的四层防护机制:通过提示词约束、开启JSON Mode、解析清洗及失败重问,确保模型稳定返回符合预期的JSON数据。结合Jackson反序列化与防御性处理,解决字段名不符、Markdown包裹、前后废话等问题,实现从“散文输出”到“业务对象”的跃迁,提升应用可靠性。

2026-09-15 14:52:47 257

原创 第 04 篇:Spring Boot 3 + WebClient 封装 OpenAI 客户端

本文基于Spring Boot 3,使用WebClient封装OpenAI客户端,解决旧版客户端的四大痛点:消息格式受限、请求体拼接易错、异常处理混乱、功能扩展困难。通过配置外置、DTO显式映射、错误归一化及流式支持,实现协议解耦、可维护性强的生产级客户端。重点利用WebClient的异步非阻塞模型与细粒度超时控制,结合缓冲区调优与Jackson策略,确保长文本与高并发场景稳定运行。最终提供统一接口,日志可观测,为后续向量化、容错等能力预留扩展空间。

2026-09-14 20:15:50 558

原创 第 03 篇:Java HttpClient 手写第一个 Chat 请求

- 用 JDK 21 自带的 `HttpClient` 从零写出了能跑通的大模型客户端;- 搞清了 `HttpClient` / `HttpRequest` / `HttpResponse` 三件套的分工;- 分清了连接超时和请求超时,并明确两个都要设;- 建立了「错误响应体必须读」这条纪律;- 通过 `/ai/debug/simple-chat` 拿到了真实可验证的结果。

2026-09-14 20:14:40 169

原创 第 02 篇:大模型核心概念 —— Token、上下文窗口、Temperature、消息角色

本文详解大模型核心概念:Token(文本切分单位,影响计价与容量)、上下文窗口(输入+输出上限,超限将截断或报错)、Temperature(控制输出随机性,低值保稳定)、消息角色(system定义规则,user传数据,assistant维持对话记忆)。通过代码实操,实现Token估算、成本计算与安全提示词封装,强调“规则与数据分离”和“精确成本核算”,避免因参数误设导致功能异常或费用失控。

2026-09-14 20:13:40 157

原创 第 01 篇:OpenAI 兼容 API 初探 —— 用 curl 跑通第一次对话

- 讲清了 OpenAI 兼容协议的三类端点;- 用 curl 跑通第一次对话,看清了请求与响应的每一个字段;- 认识了三条取数路径:`choices[0].message.content`、`usage`、`finish_reason`;- 亲手制造并记住了 401 / 404 / 429 / 超时;- 发现了流式响应的四个坑:`delta` 与 `message` 之差、首尾空片、`[DONE]`。

2026-09-14 20:12:29 226

原创 第 00 篇:系列导读 —— 为什么不先上框架

本系列不依赖框架,从JDK原生HttpClient起步,手写完整请求-响应链路,掌握大模型调用的每一环节。通过构建可独立运行的Spring Boot工程,实现配置分离、链路可控、可观测性设计,最终掌握框架背后的原理与陷阱,为工程化实战打下坚实基础。

2026-09-14 20:09:37 203

原创 从一套 Doris 数据加密存证接口,聊聊批处理架构设计的取舍之道

Doris数据加密存证批处理架构

2026-09-02 20:56:29 415

原创 数据采集/交换系统设计经验

介绍了数据采集/交换系统十项经验,包括异步化、Append-Only、报文持久化、重发派生、切片、DDL缓存、失败留痕、游标清理、动态批次、树形删除。评分卡显示架构与性能优秀,但可测试性、可维护性不足,缺少消费幂等。

2026-09-02 20:54:37 199

原创 一体化数据归集接口详细设计说明

本文阐述一体化数据归集至Doris的统一接口设计,通过分层异步架构、Kafka削峰、Stream Load批量写入、无状态扩展、多副本部署实现高并发高可用高性能;将数据质量校验前置,全链路留痕,确保数据干净规范可信

2026-09-02 20:46:45 432

原创 DevOps Toolkit:用 PySide6 打造一站式 Windows 运维桌面工具集

文章摘要 本文介绍了使用 PySide6 开发的 Windows 桌面运维工具集 DevOps Toolkit,旨在解决开发者日常重复性运维工作痛点。工具整合了 SSH 部署、Git 管理、Maven 构建、打包发布等功能,采用本地化设计保障数据安全。文章重点阐述了三种异步模型并发的架构设计(线程、QProcess、信号路由)、响应式配置管理、流水线状态机可视化等关键技术实现,以及机器特征绑定的密码加密方案。该工具通过原子化操作和错误处理机制提升了运维可靠性,并以 PyInstaller 打包实现开箱即用,

2026-07-23 19:37:55 415

原创 策略模式、回调编排与注册机

本文以企业级安全架构中的DAPS数据校验模块为例,剖析了可扩展的安全架构设计思路。该方案采用三层架构设计:编排层负责流程控制,核心层固化加密流程,策略层实现业务差异化。通过策略模式+注册机机制,实现零配置扩展和运行时多态,业务扩展只需新增实现类而无需修改核心代码。同时利用函数式接口实现核心流程与业务变点的解耦,采用模板方法模式固定加密流程骨架。这种设计实现了安全组件的"开箱可扩展、关闭可降级、逻辑可编排"目标,为企业级系统安全架构提供了可复用的设计范式。(149字)

2026-07-06 13:44:47 239

opencode-jdtls

"java": { "command": ["java", "-Declipse.application=org.eclipse.jdt.ls.core.id1", "-Dosgi.bundles.defaultStartLevel=4", "-Declipse.product=org.eclipse.jdt.ls.core.product", "-Dlog.protocol=true", "-Dlog.level=ALL", "-Xmx1G", "--add-modules=ALL-SYSTEM", "--add-opens", "java.base/java.util=ALL-UNNAMED", "--add-opens", "java.base/java.lang=ALL-UNNAMED", "-jar", "$HOME/.lsp-servers/jdtls/plugins/org.eclipse.equinox.launcher.jar", "-configuration", "$HOME/.lsp-servers/jdtls/config_win", "-data", "$HOME/.lsp-servers/jdtls/data" ], "enabled": true, "note": "jdtls 下载超时,需手动下载: https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz 解压到 $HOME/.lsp-server

2026-05-12

opencode+claudecode+neo4j

opencode+claudecode+neo4j 资源包

2026-04-16

通用Excel导入导出下载木板:你只需要继承就直接拥有能力

- [1. 快速开始](#1-快速开始) - [2. 技术栈](#2-技术栈) - [3. 统一响应格式](#3-统一响应格式) - [4. 用户管理接口(Demo)](#4-用户管理接口demo) - [4.1 查询用户列表](#41-查询用户列表) - [4.2 查询用户详情](#42-查询用户详情) - [4.3 新增用户](#43-新增用户) - [4.4 修改用户](#44-修改用户) - [4.5 删除用户](#45-删除用户) - [5. Excel 导入导出接口](#5-excel-导入导出接口) - [5.1 Excel 导入](#51-excel-导入) - [5.2 Excel 分页导出](#52-excel-分页导出) - [5.3 Excel 全量导出](#53-excel-全量导出) - [5.4 Excel 导出到文件系统](#54-excel-导出到文件系统) - [5.5 Excel 模板下载](#55-excel-模板下载) - [6. 通用分页请求参数](#6-通用分页请求参数) - [7. 用户实体字段说明](#7-用户实体字段说明) - [8. 如何扩展新模块](#8-如何扩展新模块)

2026-04-09

Typora-windows -安装教程

Typora---windows ----安装教程

2026-03-19

数据库统一操作API提供了一个跨数据库的统一操作接口,支持多种数据库类型的查询、插入、更新和删除操作 该系统通过方言(Dialect)机制自动适配不同数据库的语法差异,使得开发者可以使用统一的API操

## 功能概述 数据库统一操作API提供了一个跨数据库的统一操作接口,支持多种数据库类型的查询、插入、更新和删除操作。该系统通过方言(Dialect)机制自动适配不同数据库的语法差异,使得开发者可以使用统一的API操作多种数据库,无需关注底层数据库的语法差异。 ### 核心特性 - **多数据库支持**:支持19种主流数据库及国产数据库 - **自动SQL生成**:根据请求参数自动生成符合目标数据库语法的SQL语句 - **参数化查询**:使用参数化占位符防止SQL注入 - **复杂条件支持**:支持AND、OR、IN、LIKE、BETWEEN等复杂查询条件 - **连接池管理**:自动管理数据库连接池,提高性能 - **动态驱动加载**:支持动态加载数据库驱动 ---

2026-01-19

SpringAI + MCPServer + MCPClient 快速入门示例

通过使用免费的智普AI的glm-4-flash模型,设计并实现了一个智能问答系统。在该系统中,我们编写了一个工具接口,专门处理那些大模型无法解答的复杂问题,并将其集成到MCPServer中。MCPClient的Web端接口能够智能地判断何时使用智普AI的glm-4-flash模型,何时调用MCPServer的工具接口,从而确保在大模型无法处理的情况下,系统通过MCP实现高效的协调与问题解决。这一方案不仅提升了AI问答的能力,还能更灵活地应对多样化的用户需求。 @RequestMapping(value = "/jsonToSayStream", method = RequestMethod.GET) public Flux<String> jsonToSayStream(@RequestParam String question) { var chatClient = getInstance(); System.out.println("=== 聊天模式已启动(====="); StringBuffer buffer = new StringBuffer(); // 调用 AI 并打印回复 return chatClient.prompt(question).stream().content().doOnNext(buffer::append).doOnComplete(() -> { System.out.println("\n>>> AI 回复: " + buffer); }); }

2025-05-28

Springboot3.4+JDK21+Javafx+mybatis-plus+Mysql 集成demo 这是一个整合了 Spring Boot 和 JavaFX 的桌面应用程序,支持数据库连接与操

1. 项目依赖(Dependencies) Spring Boot Starter:提供了 Spring Boot 的基本功能,帮助快速构建和启动应用。 Hutool:一个常用的 Java 工具库,包含了很多便捷的工具类。 Lombok:用于简化 Java 代码的库,提供注解以自动生成 getter、setter、toString 等方法。 MySQL Connector:用于连接 MySQL 数据库。 MyBatis Plus:MyBatis 的增强工具包,用于简化数据库操作。 BootstrapFX:一个用于 JavaFX 的样式库,提供了 Bootstrap 风格的控件和布局。 JavaFX:用于构建图形用户界面的库,使用的是版本 17.0.15。 MyBatis Spring:用于在 Spring 环境中集成 MyBatis。 2. Java 版本与编译配置 Java 版本:项目使用 Java 21,且通过 Maven 配置了 Java 编译器的版本。 编译器配置:指定了 Java 21 作为源和目标版本,但 Maven 编译器插件的配置仍然是 Java 19,这可能需要修改为 Java 21 以保持一致。 3. Spring Boot 配置 使用 Spring Boot Starter Parent 作为父项目,版本是 3.4.4,提供了基本的构建和运行配置。 项目使用了 Spring Boot 插件(spring-boot-maven-plugin)来帮助构建和启动 Spring Boot 应用。 通过 --add-opens java.base/java.lang=ALL-UNNAMED JVM 参数来解决一些模块访问问题,确保 JavaFX 和 Spring Boot 兼容运行。

2025-07-17

Springboot3.4+Sa-Token+JWT 集成系统登录才能访问

项目简介: 推荐 JDK21 Mysql8.0+,Maven、Springboot3 项目核心依赖极致简化: Mysql-驱动 ->mysql-connector-java 接口API文档->knife4j-openapi3-jakarta-spring-boot-starter 项目脚手架->pring-boot-starter-web|使用spring-boot-starter-undertow ORM映射框架-> mybatis-plus-boot-starter 全能工具包-> hutool-all 用户认证和权限框架->sa-token-spring-boot3-starter

2025-03-22

Java+Springboot3+SpringSecurity6快速demo

Springboot3+SpringSecurity6实现简单的单体登录

2024-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除