跳到主要内容

核心特性

MyBatisGX 功能一览

基础功能

特性说明
CRUD 接口即用SimpleDao、CurdDao、SelectDao 内置常用方法
方法名派生 SQL根据方法名自动生成查询/更新/删除语句
查询实体(QueryEntity)解耦查询条件,避免 Service 层拼装
Statement 注解支持复杂条件分组,优先级最高
动态 SQL@Dynamic 注解,字段为空时自动跳过
分页查询Pageable + Page,支持 PageHelper
投影 DTO部分字段返回,减少数据传输

关联查询

特性说明
一对一@OneToOne 注解,自动关联查询
一对多@OneToMany 注解,List 集合映射
多对一@ManyToOne 注解,对象引用映射
多对多@ManyToMany 注解,中间表自动处理
抓取模式SIMPLE/BATCH/JOIN/NONE 四种模式,精确控制关联查询

高级功能

特性说明
逻辑删除@LogicDelete 注解,删除标记自动处理
可重复逻辑删除@LogicDeleteId 注解,支持删除后重复新增
乐观锁@Version 注解,版本号自动递增
字段值生成@GeneratedValue 注解,支持审计/加密/脱敏
数据审计录入人/时间、修改人/时间自动填充
复合主键@EmbeddedId、@IdClass 注解支持
批量操作@BatchOperation 注解,支持批量增删改

架构特性

特性说明
SQL 预生成启动时生成 MyBatis XML,运行时无开销
XML 优先级最高mapper.xml 中定义的 SQL 始终优先
MyBatis 无缝升级原有 MyBatis 项目可直接升级
多数据库支持MySQL、Oracle、PostgreSQL

SQL 优先级

@Statement 注解  >  实体/QueryEntity 参数  >  方法名关键字

mapper.xml 定义的方法拥有最高优先级,框架不再自动处理

方法参数优先级

@Param 注解参数  >  实体字段  >  查询实体字段  >  无注解简单参数

支持的查询条件关键字

比较运算符

关键字说明示例
Eq / Equal等于findByNameEq
Lt小于findByAgeLt
Lteq小于等于findByAgeLteq
Gt大于findByAgeGt
Gteq大于等于findByAgeGteq

模糊运算符

关键字说明示例
Like模糊匹配findByNameLike
StartingWith前缀匹配findByNameStartingWith
EndingWith后缀匹配findByNameEndingWith

范围运算符

关键字说明示例
Between区间findByAgeBetween
In包含findByIdIn

空值运算符

关键字说明示例
IsNull为空findByNameIsNull
IsNotNull / NotNull非空findByNameNotNull

逻辑运算符

关键字说明示例
AndfindByNameAndAge
OrfindByNameOrAge
Not非(可与其他组合)findByNameNotLike

下一步