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

xbatis:强大 ORM 框架,多版本更新亮点多,多种查询写法超方便!

推荐理由

xbatis 强大之处显著,单表、连表操作均可,能让开发者少写 1/3 甚至 2/3 的持久层代码。其 API 简单、快捷、优雅、简洁,构建 SQL 能力强。即便有了 AI,好用的 ORM 仍不可忽视,除非后续不维护。

各版本更新内容

1.10.1 - 2026-04-27
  • 优化 @Fetch 功能代码
  • 实现 @Fetch 更多合并的功能场景(从 2 层到 1 层转变,减少 VO 创建)
  • @Fetch 注解增加逻辑删除策略(支持忽略逻辑删除)
1.10.0 - 2026-04-18
  • 修复主动调用了 fetchFilter/fetchEnable 时,可能出现报错的问题(未使用 fetchFilter/fetchEnable 的不影响)
1.9.9 - 2026-04-13
  • 增加 partialUpdate 精准 (局部) 修改方法
  • 原生 updateBatch 修改增加 null / 默认值忽略设置方法
  • LambdaUtil 类增加 setter/getter Lambda 生成方法
  • @ResultCalcField 注解支持数据库函数
  • 修复 exists/notExists 中子查询嵌套子查询时,别名一致导致无法上下级引用的问题
  • 增加 join 子查询的简化写法
  • 所有 Mp 开头的类改为 Xbatis 开头
  • 优化 selectIgnore 功能,不再要求先 select
  • 增加 orderByAsc 方法,减少从 mybatis - plus 迁移到 xbatis 的工作量
  • 优化底层代码
  • 增加 resultmap 官方动态映射继承
  • 所有查询完美兼容 pageHelper
  • 对于顶级类的字段增加列为为字段名的 resultMap 映射
  • 支持多列 in - notIn 操作
  • @Fetch 支持合并查询(从 2 层到 1 层转变,减少 VO 创建)
1.8.7 更新内容
  • 为了更好的 JAVA+XML 结合,query 和 where 增加 tableAs (实体类,别名) 方法,用于自定义表名别名
  • XbatisConfig 改为 XbatisGlobalConfig
  • 增加逻辑删除拦截器
  • update、delete 增加原生 RETURNING (原生) 功能
  • 增加原生 sql 查询方法和 update delete RETURNING 功能
  • 增加了一个 Mapper 方法拦截器
  • 增加 exists/not exists 简易写法
1.7.7 更新内容
  • QueryChain,DeleteChain,InsertChain,UpdateChain 支持 BasicMapper 方法
  • 支持通用 BasicMapper,可不需要创建多个实体类 Mapper;一个 BasicMapper 即可使用所有功能
  • 正式支持单 Mapper (写一个 Mapper 即可)

通用 SQL 扩展

提供了多种通用 SQL 扩展示例,包括实体类查询、增删改并返回数据、ORM 写法的删除和修改并返回数据等。

分表配置

展示了分表配置的代码,包括 SysUser 类和 SysUserSplitter 类的代码,体现了分表操作的简单性,其他操作和常规无异。

为什么推荐 xbatis

xbatis 是一款超级强大的 ORM 框架,具有可多表 join、代码和 xml 均可分页、良好的扩展能力、强大的数据库适配能力、极简的 api 设计等优点。

多种查询示例

1. 单表 +@Fetch 注解 + fetchFilter 方法

展示了相关代码,fetchFilter 方法是对 @Fetch 注解的增强,无特殊要求可忽略。

2. 单表查询

给出了单表查询的代码示例。

3. VO 映射

展示了 VO 映射的代码及查询示例。

4. join 查询

展示了 join 查询的代码示例。

xbatis 还有很多超级方便有趣的写法,如多表 join 嵌套、使用 @Fetch 注解 + fetchFilter 方法替代 join、使用 @Paging 注解实现 xml 自动分页、使用 SQL 模板等,欢迎大家使用。那么,你是否会尝试使用 xbatis 呢?

http://www.jsqmd.com/news/729360/

相关文章:

  • 多模态大语言模型的视觉整合机制与H-散度应用
  • 从视频到文本:如何用AI技术轻松提取硬字幕
  • 告别网盘限速困扰:LinkSwift直链下载助手完全指南
  • 020、PCIE内存读写事务:从一次诡异的DMA超时说起
  • Sunshine游戏串流:打造个人云游戏服务器的完整技术指南
  • STM32 RTC掉电后时间还在?手把手教你用CR1220电池实现断电记忆(附完整代码)
  • 第十一节:多智能体协同(Multi-Agent)——群体智慧探索
  • 如何3步让旧款MacBook Pro运行最新macOS?OpenCore Legacy Patcher终极指南
  • 为 Hermes Agent 配置自定义供应商并接入 Taotoken 平台的多模型服务
  • InfluxDB(四)——动态 Field/Tag 实现多类型设备统一接入的完整实践指南
  • 从零构建高效项目脚手架:Node.js CLI工具设计与工程化实践
  • 从人工经验报价到AI数据驱动报价:制造业Java企业的报价
  • Linux手机PinePhone改造成移动热点的实践指南
  • 2026医药研发AI数据管理:临床试验CRO/医药研发整体解决方案/国内CRO企业有哪些/国内比较好的CRO/智能临床研究/选择指南 - 优质品牌商家
  • Linux 文件权限到底怎么回事
  • AI 时代前端必看|只会用 AI 不算会!底层逻辑才是核心竞争力
  • AutoDock Vina含硼配体对接:从参数配置到精准对接的完整实践指南
  • NVIDIA NeMo Data Curator:高效处理万亿级LLM训练数据
  • ComfyUI-AnimateDiff-Evolved完整指南:从零开始掌握AI动画生成
  • 2026年Q2常开防火门厂家选型推荐:合规/性能/维保全维度解析 - 优质品牌商家
  • 第十二节:极限降本——模型量化部署与性能调优(AWQ/GPTQ)
  • 手把手教你学Simulink——基于Simulink的LQR最优PFC电流跟踪设计
  • 第十三节:高并发压测与生产级成本核算指南
  • 视觉概念创意融合的技术挑战与Vibe Space解决方案
  • PyTorch模型保存与加载实战:state_dict()的妙用,以及它与parameters()的那些事儿
  • Phi-3.5-Mini-Instruct惊艳效果:数学推理链(Chain-of-Thought)生成实录
  • NVIDIA NeMo荷兰语与波斯语语音识别模型技术解析
  • Windows Internals 读书笔记 10.4.6:WMI 安全模型——为什么 WMI 能访问系统资源,但不能随便访问?
  • 如何通过LinkSwift实现八大网盘直链下载:完整使用指南
  • 终极指南:让Windows用户完整享受AirPods智能体验的解决方案