在 3.5.18 与 3.5.19 之前,mybatis 3.5.17 已经提前暴露出这一轮维护的主节奏。官方 release 记录显示,3.5.17 于 2024 年 11 月 26 日发布,正文先列出两项 bug 修复:当 properties 为空时,vendordatabaseidprovider#getdatabaseid() 应返回产品名;nclobtypehandler 需要改用适配国家字符集的方法。随后,官方又列出一项增强:允许 defaultsqlsessionfactory 提供自定义 sqlsession。如果把这三个点合在一起看,可以发现 3.5.17 的关注面覆盖了数据库识别、字符集处理和会话工厂扩展能力,已经不只是单纯的文档清理版。

来源:mybatis/mybatis-3 3.5.17 发布页
把 3.5.17 放回上一版 3.5.16 的上下文里看,会更容易理解这条线为什么持续有维护价值。3.5.16 的官方说明已经处理过安全问题、数据库 ID 解析异常、点号或括号列名映射自定义、虚拟线程兼容和构造器自动映射内存占用等内容;到了 3.5.17,官方没有停下,而是继续把数据库识别和会话扩展能力往前推进。这意味着 MyBatis 近几轮维护并非单一方向,而是在安全、性能、兼容和可扩展性之间同时补洞。对使用者来说,是否升级不应只看某一项新特性,而要评估这些连续修正是否恰好覆盖自己系统里最脆弱的那一块。

来源:mybatis/mybatis-3 3.5.16 发布页
实际影响上,3.5.17 更适合被理解成“持续维护中的结构性修补版”。数据库产品识别返回值、国家字符集处理方式和自定义 SqlSession 能力,看上去不像 headline 式大功能,但它们都贴近真实生产环境里的边缘条件。一旦这些边缘条件命中,影响往往不是一两条 SQL 出错,而是框架在不同数据库、字符集或扩展封装场景下行为不一致。也正因为如此,MyBatis 的这一轮公开 release 才更适合按照官方记录逐条核对,而不是用“只是小版本”一句话带过。
信源说明:依据 mybatis/mybatis-3 3.5.17 与 3.5.16 官方发布页整理;具体行为变化与完整差异以官方 changelog 和 compare 页面为准。

















