当前位置: 首页 > news >正文

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 更简单易扩展等。

http://www.cnnetsun.cn/news/3808222.html

相关文章:

  • OPC UA技术专家如何通过知识管理实现品牌化增长
  • 量化交易的市场博弈与散户防御策略
  • SAP利润中心会计(CO-PCA)核心架构与实战应用解析
  • 文本功能分析:从语义理解到沟通骨架解构
  • GIS本科生如何构建核心竞争力与提升就业价值
  • iPhone黑解证书备份:原理、风险与越狱环境下的实操指南
  • IL-21信号通路与抗体融合蛋白的免疫治疗应用
  • SpringBoot社区疫情防控系统开发实践
  • 6款AI写作辅助软件盘点
  • 华硕笔记本性能解放:3个颠覆性改变让G-Helper成为Armoury Crate的终极替代方案
  • 物联网智能家居系统:从架构设计到自动化场景的实战解析
  • 训练数据偏见导致审核失准?深度拆解237万条标注样本中的隐性偏差链,附可复用校准Checklist
  • Flutter表单引擎lyform鸿蒙HarmonyOS迁移实战
  • SSH作业
  • UEditor实现Word图片批量上传技术方案
  • 从PHP到K8s全栈覆盖,HostMod 给AI建站补上了企业级托管能力
  • C++ OJ题解优化与竞赛编程技巧
  • RISC-V中auipc指令原理与NEMU模拟器实现详解
  • 【YOLO26创新改进】PR 2026顶刊 | 特征融合改进篇 | 使用LCAFusion轻量交叉注意力融合模块,适合可见光—红外目标检测,无人机遥感目标检测、低照度与恶劣天气检测、旋转目标检测任务
  • 2026年本科生必备的10大AI工具指南
  • 竞价优化公司说的“行业大盘数据”是从哪来的?
  • 上下文工程
  • DAMA框架:企业数据资产化与治理实践指南
  • 硬核抗老:防晒如何阻挡光老化痕迹
  • TypeScript 入门指南
  • 华为S5700交换机系统文件丢失故障诊断与完整恢复指南
  • 英雄联盟豹女陷阱流玩法解析:符文出装与实战博弈
  • 25 YOLOv8中Bin的偏移量是相对于谁的——网格、乘数与框大小的关系
  • Matlab实现综合能源系统规划的Benders分解法
  • 二叉树遍历算法解析与多语言实现