# easy-query-wiki **Repository Path**: DongXYstdu/easy-query-wiki ## Basic Information - **Project Name**: easy-query-wiki - **Description**: ORM框架 Easy-Query的WIKI(个人总结),官网:https://www.easy-query.com/easy-query-doc/ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # easy-query Wiki 知识库 > 一套面向不同水平开发者的 easy-query ORM 框架学习文档,从入门到源码级理解。 --- ## 文档目录 ``` easy-query-wiki/ │ ├── 01-新人入门/ │ ├── 01-项目概览与生态.md │ ├── 02-快速开始.md │ ├── 03-实体定义规范.md │ └── 04-基础CRUD操作.md │ ├── 02-中级进阶/ │ ├── 01-多表关联查询.md │ ├── 02-分页排序与动态条件.md │ ├── 03-逻辑删除与乐观锁.md │ ├── 04-SpringBoot与Solon集成.md │ └── 05-子查询与联合查询.md │ ├── 03-高级深入/ │ ├── 01-隐式查询五大特性.md │ ├── 02-分库分表实战.md │ ├── 03-数据追踪与差异更新.md │ ├── 04-列加密与计算属性.md │ └── 05-结构化DTO与VO映射.md │ ├── 04-源码解析/ │ ├── 01-核心引擎架构.md │ ├── 02-表达式树与SQL生成.md │ ├── 03-IoC容器与扩展机制.md │ ├── 04-方言实现与数据库适配.md │ └── 05-APT代理生成原理.md │ └── 05-包结构参考/ ├── sql-core包结构详解.md ├── sql-api-proxy包结构详解.md ├── sql-db-support包结构详解.md └── sql-extension包结构详解.md ``` --- ## 按阶段浏览 ### 01-新人入门 从零开始了解 easy-query,掌握环境搭建、实体定义和基础 CRUD。 | 文档 | 内容 | |------|------| | [项目概览与生态](01-新人入门/01-项目概览与生态.md) | 了解 easy-query 的定位与生态:与其他 ORM 框架的对比、五大隐式特性简介、支持的 13+ 种数据库、社区资源与获取帮助渠道 | | [快速开始](01-新人入门/02-快速开始.md) | 搭建开发环境、配置 Maven 依赖、初始化 EasyEntityQuery 客户端(控制台模式与 Spring Boot 模式)、运行第一个查询并查看生成的 SQL | | [实体定义规范](01-新人入门/03-实体定义规范.md) | 掌握实体类定义规范:@Table 与 @Column 注解、@EntityProxy 与 @EntityFileProxy 的区别、BaseEntity 基类设计、@LogicDelete 逻辑删除策略、@Navigate 对象关系导航 | | [基础CRUD操作](01-新人入门/04-基础CRUD操作.md) | 使用代理模式 API 完成增删改查:条件查询(eq/like/in/between 等)、单条与批量插入、实体更新与表达式更新、条件删除与实体删除 | ### 02-中级进阶 在基础 CRUD 之上,学习多表关联、分页排序、框架集成等常用能力。 | 文档 | 内容 | |------|------| | [多表关联查询](02-中级进阶/01-多表关联查询.md) | 使用 innerJoin/leftJoin/rightJoin 进行多表关联查询、链式多表 Join、Join 后的 where 条件与 groupBy 聚合、select 投影构建结果对象 | | [分页排序与动态条件](02-中级进阶/02-分页排序与动态条件.md) | 使用 toPageResult 实现分页查询、多字段排序与动态排序、动态条件拼接、limit/offset 限制结果集、分页性能优化建议 | | [逻辑删除与乐观锁](02-中级进阶/03-逻辑删除与乐观锁.md) | @LogicDelete 注解的多种策略配置、逻辑删除对查询/更新/删除的自动影响、@Version 乐观锁实现并发安全、executeRows 断言与 EasyQueryConcurrentException | | [SpringBoot与Solon集成](02-中级进阶/04-SpringBoot与Solon集成.md) | Spring Boot 3.x/4.x Starter 配置与自动装配原理、application.yml 配置项详解、多数据源配置、Solon 框架插件集成、全局拦截器注册 | | [子查询与联合查询](02-中级进阶/05-子查询与联合查询.md) | in/exists/notExists 子查询的编写方式、子查询作为 select 列、Union/UnionAll 联合多个查询结果、关联子查询引用外层表 | ### 03-高级深入 深入理解隐式查询、分库分表、数据追踪、列加密等企业级特性。 | 文档 | 内容 | |------|------| | [隐式查询五大特性](03-高级深入/01-隐式查询五大特性.md) | 深入理解五大隐式查询:隐式 Join(OneToOne/ManyToOne 自动关联)、隐式子查询(OneToMany/ManyToMany 自动子查询)、隐式分组(subQueryToGroupJoin 合并优化)、隐式分区分组(first/element 取第N条)、隐式 CASE WHEN(filter 条件聚合),以及 @Navigate 注解的完整配置 | | [分库分表实战](03-高级深入/02-分库分表实战.md) | 分片核心概念与架构、@ShardingTableKey 分片键配置、AbstractShardingMonthInitializer 按月分片初始化器、AbstractMonthTableRoute 分片路由规则、ShardingEntityBuilder 高级配置、分库多数据源配置、分片场景下的查询写法与 SQL 执行日志解读 | | [数据追踪与差异更新](03-高级深入/03-数据追踪与差异更新.md) | 数据追踪的工作原理与启用方式、查询后修改属性再更新时只生成差异字段的 SQL、全字段更新与差异更新的 SQL 对比、追踪模式下的实体生命周期管理 | | [列加密与计算属性](03-高级深入/04-列加密与计算属性.md) | 企业级列加密实现与高性能 LIKE 检索原理、五种计算属性:JSON 计算属性(对象↔JSON 列)、枚举计算属性(枚举↔数据库值)、列计算属性(数据库函数处理)、无列计算属性(内存计算,支持筛选排序)、跨表计算属性(子查询聚合) | | [结构化DTO与VO映射](03-高级深入/05-结构化DTO与VO映射.md) | 使用 Select.DRAFT 进行投影查询、GroupKeys 分组键映射、selectAutoInclude 自动拉取关联对象、IDEA 插件 Create Struct DTO 功能、显式与隐式赋值、无需 MapStruct 的 DTO/VO 直接返回 | ### 04-源码解析 从源码层面理解引擎设计、SQL 生成、扩展机制与代理生成原理。 | 文档 | 内容 | |------|------| | [核心引擎架构](04-源码解析/01-核心引擎架构.md) | 五层架构分层设计、sql-core 完整包结构树与每个包的职责、核心类关系图(EasyQueryBootstrapper → EasyQueryClient → SQLClientApiFactory)、启动流程时序图、QueryRuntimeContext 运行时上下文、50+ 内置服务列表 | | [表达式树与SQL生成](04-源码解析/02-表达式树与SQL生成.md) | 表达式树模型的核心类(EntityTableAvailable/SQLExpression)、表达式构建器体系(WherePredicate/ColumnSelector/GroupBySelector 等)、SQL Segment 片段体系、表达式优化器(隐式分组合并/子查询优化/内联视图)、SQL 生成完整流程、执行器体系、代理模式查询的完整调用链追踪 | | [IoC容器与扩展机制](04-源码解析/03-IoC容器与扩展机制.md) | 多例模式 IoC 容器设计理念、ServiceCollection 服务注册与 ServiceProvider 服务解析、内置 50+ 服务完整列表、replaceService 替换内置服务机制、自定义服务注入、扩展点接口体系、全局拦截器注册、自定义类型转换器与逻辑删除策略 | | [方言实现与数据库适配](04-源码解析/04-方言实现与数据库适配.md) | DatabaseConfiguration 接口的完整方法定义、MySQL 方言实现深度分析(类结构/SQL 差异/分页实现)、sql-mysql 包结构、为新数据库实现方言的完整步骤、分页/数据类型/函数差异对照表、方言注册机制与 Spring Boot 自动配置方言选择逻辑 | | [APT代理生成原理](04-源码解析/05-APT代理生成原理.md) | APT 注解处理工具基础概念与工作流程、sql-processor 模块结构、@EntityProxy 注解处理流程、XxxProxy 代理类生成规则与结构、SQLColumnProxy 方法体系(eq/ne/gt/lt/like/isNull 等)、导航属性方法生成、@EntityFileProxy 差异、Kotlin KSP 处理器、EasyQueryAssistant IDEA 插件的无感 APT 实现、代理类运行时参与 SQL 构建的完整调用链 | ### 05-包结构参考 快速查阅各模块的包结构与核心类,方便定位源码。 | 文档 | 内容 | |------|------| | [sql-core包结构详解](05-包结构参考/sql-core包结构详解.md) | 核心引擎 20+ 子包、核心类列表、包依赖关系 | | [sql-api-proxy包结构详解](05-包结构参考/sql-api-proxy包结构详解.md) | 代理 API 层、EasyEntityQuery 方法列表、Queryable 接口方法 | | [sql-db-support包结构详解](05-包结构参考/sql-db-support包结构详解.md) | 13+ 方言模块、DatabaseConfiguration 接口、MySQL 方言详解 | | [sql-extension包结构详解](05-包结构参考/sql-extension包结构详解.md) | Spring Boot/Solon 集成、缓存/搜索扩展、自动配置原理 | --- ## 关于 easy-query [easy-query](https://github.com/dromara/easy-query) 是 Dromara 开源社区旗下的一款 Java/Kotlin 高性能轻量级 ORM 框架,核心特性包括: - **强类型 DSL** — 编译期即可发现错误的链式查询语法 - **五大隐式查询** — 隐式 Join、隐式子查询、隐式分组、隐式分区分组、隐式 CASE WHEN - **零依赖** — 仅依赖 Java 8 和编译时注解,完全自主可控 - **原生分库分表** — 无需中间件,内置高性能分片路由 - **13+ 数据库支持** — MySQL、PostgreSQL、Oracle、SQL Server、达梦、人大金仓等 --- ## 许可协议 本仓库内容采用 [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) 协议授权。 - 允许个人学习、研究、非商业分享 - 允许修改和改编 - 禁止商业用途 - 转载或引用请保留原作者署名 --- ## 外部资源 | 资源 | 链接 | |------|------| | GitHub 仓库 | https://github.com/dromara/easy-query | | Gitee 镜像 | https://gitee.com/dromara/easy-query | | 官方文档 | https://www.easy-query.com/easy-query-doc/ | | Maven Central | https://central.sonatype.com/ 搜索 `com.easy-query` | | B站视频教程 | https://www.bilibili.com/video/BV17yWdzPE4M/ | | QQ 交流群 | 170029046 | | 作者博客 | https://www.cnblogs.com/xuejiaming/ |