Xbatis:持久层代码直降 2/3,多版本更新有亮点、多种查询写法超方便!
推荐理由
强、强、强 ,单表?连表?不想连表?直接少写 1/3 甚至 2/3 的持久层代码;API 简单、快捷、优雅、简洁,构建 SQL 能力强大!无论用过还是没用过,都值得体验,即便有 AI 了,好用的 ORM 也不能忽视,除非以后不维护。
1.10.7 - 2026-07-20
1:修复 distinct 多列在 count 时优化错误的问题;2:新增 count 优化开关;3:增强 case when,支持多个条件。
1.10.6 - 2026-07-02
1:新增 COALESCE 函数;2:新增 Map 结果强制包含 value 为 null 的 key;3:新增 Map key 下划线转驼峰处理;4:新增 DDL 自动化(自动建表、索引、列新增、序列)。
1.10.5 - 2026-06-21
1:修复插入数据时,未拼上 @Table 的 schema 的问题;2:增加局部某个表 leftJoin 禁止优化的功能;3:其他优化;4:增加 SQL 审计。
1.10.3 - 2026-05-27
1:@Fetch fetchFilter 强制调用开关;2:数据库识别支持 p6spy jdbc url 格式;3:其他优化表名 /schema 支持动态设置(非分表行为);4:crud 支持自己创建的 lambda getter 方法引用;5:修复单列 Fetch 数据库为 null 时运行异常的问题;6:增加 nested 方法来替代 orNested 和 andNested;7:增加 where 方法平替 and or 动态方法;8:新增 getValueById (获取单列值) 方法;9:QueryChain 增加 mapGroupWithKey 分组功能。
1.10.2 - 2026-04-29
1:实现 @Fetch,支持生效条件;2:in/notIn 单条时,变成 eq/ne 行为;3:其他优化。
1.10.1 - 2026-04-27
1: 优化 @Fetch 功能代码;2:实现 @Fetch 更多合并的功能场景(从 2 层到 1 层转变,减少 VO 创建);3:@Fetch 注解增加逻辑删除策略(支持忽略逻辑删除)。
1.10.0 - 2026-04-18
1:修复主动调用了 fetchFilter/fetchEnable 时,可能出现报错的问题(未使用 fetchFilter/fetchEnable 的不影响)。
1.9.9 - 2026-04-13
1:增加 partialUpdate 精准 (局部) 修改方法;2:原生 updateBatch 修改增加 null / 默认值忽略设置方法;3:LambdaUtil 类增加 setter/getter Lambda 生成方法;4:@ResultCalcField 注解支持数据库函数;5:修复 exists/notExists 中子查询嵌套子查询时,别名一致导致无法上下级引用的问题;6:增加 join 子查询的简化写法;7:所有 Mp 开头的类改为 Xbatis 开头;8:优化 selectIgnore 功能,不再要求先 select;9:增加 orderByAsc 方法,减少从 mybatis-plus 迁移到 xbatis 的工作量;10:优化底层代码;11:增加 resultmap 官方动态映射继承;12:所有查询完美兼容 pageHelper;13:对于顶级类的字段增加列为为字段名的 resultMap 映射;14:支持多列 in-notIn 操作;15:@Fetch 支持合并查询(从 2 层到 1 层转变,减少 VO 创建)。
1.8.7 更新内容
1:为了更好的 JAVA+XML 结合,query 和 where 增加 tableAs (实体类,别名) 方法,用于自定义表名别名;2:XbatisConfig 改为 XbatisGlobalConfig;3:增加逻辑删除拦截器;4:update、delete 增加原生 RETURNING (原生) 功能;5:增加原生 sql 查询方法和 update delete RETURNING 功能;6:增加了一个 Mapper 方法拦截器;7:增加 exists/not exists 简易写法。
通用 SQL 扩展
类型支持实体类,VO 和普通 POJO;支持增删改,且支持返回数据;ORM 写法删除并返回被删除的数据(数据库原生操作);ORM 写法修改并返回修改后的数据(数据库原生操作)适合金额加减操作返回剩余金额。
分表配置
通过代码示例展示分表配置,分表操作简单,其他操作和常规无异。
1.7.7 更新内容
1:QueryChain、DeleteChain、InsertChain、UpdateChain 支持 BasicMapper 方法;2:支持通用 BasicMapper,可不需要创建多个实体类 Mapper;一个 BasicMapper 即可使用所有功能;3:正式支持单 Mapper (写一个 Mapper 即可)。
为什么推荐 xbatis
xbatis 是一款强大的 ORM 框架,可多表 join,代码和 xml 都可分页,有良好的扩展能力,能适配多种数据库,api 设计极简。
1. 单表 +@Fetch 注解 + fetchFilter 方法
通过代码示例展示使用方法,fetchFilter 方法是对 @Fetch 注解的增强,无特殊要求可忽略。
2. 单表查询
通过代码示例展示单表查询方法。
3.VO 映射
通过代码示例展示 VO 映射方法。
4. join 查询
通过代码示例展示 join 查询方法。
还有很多方便有趣的写法,如多表 join 嵌套、不使用 join 用 @Fetch 注解 + fetchFilter 方法、使用 @Paging 注解实现 xml 自动分页、使用 SQL 模板让 ORM 更简单易扩展等。
