--- tags: [GORM, Go, ORM, Database] create time: 2026-04-28 00:00 --- # GORM 知识库 ## 概述 GORM 是 Go 生态中最流行的 ORM 库,本知识库系统整理 GORM 的核心概念、进阶用法和工程实践。 ## 目录索引 ### 1. 基础篇 - **[00-基本语法与 API 概览](./00-基本语法与 API 概览)** — Model vs Table、链式不可变机制、Session/Clauses/Assign、Context 集成、Recipes - **[01-安装与初始化](./01-安装与初始化)** — 依赖安装、DB 连接配置、全局配置项 - **[02-模型定义](./02-模型定义)** — struct tag 映射、字段类型、主键策略、表名规则 - **[03-CRUD 操作](./03-CRUD 操作)** — Create / First / Take / Find / Get 五大方法 ### 2. 查询篇 - **[04-条件查询](./04-条件查询)** — Where 链式调用、Between / In / Like / 原生 SQL - **[05-关联查询](./05-关联查询)** — Preload / Joins、HasOne / HasMany / BelongsTo / ManyToMany - **[06-排序与分页](./06-排序与分页)** — Order / Limit / Offset / Paginate - **[07-子查询与分组](./07-子查询与分组)** — Group / Having / SubQuery / 嵌套查询 ### 3. 进阶篇 - **[08-事务管理](./08-事务管理)** — Tx 对象、Commit / Rollback、嵌套事务 - **[09-钩子函数](./09-钩子函数)** — Before / After Save、Create、Update、Delete、Find - **[10-软删除](./10-软删除)** — SoftDelete 原理、Unscoped 强制查询 - **[11-批量操作](./11-批量操作)** — Bulk Insert / Update、Callback 机制 - **[12-自定义字段类型](./12-自定义字段类型)** — Scanner / Valuer 接口、JSON 字段 - **[13-多数据库支持](./13-多数据库支持)** — MySQL / PostgreSQL / SQLite / SQL Server ### 4. 工程实践篇 - **[14-错误处理](./14-错误处理)** — RecordNotFound、ErrRelatedExists、自定义错误判断 - **[15-性能优化](./15-性能优化)** — N+1 问题排查、Preload 策略、预编译语句 - **[16-日志与调试](./16-日志与调试)** — 慢查询监控、SQL 日志格式化 - **[17-迁移工具](./17-迁移工具)** — AutoMigrate / Migrator、版本化迁移策略 ## 核心架构图 ```mermaid graph LR A[GORM DB] --> B[Session] B --> C[Clauses] C --> D[Standalone Mode] B --> E[Context] E --> F[Hooks] F --> G[Preload] G --> H[Resolver] H --> I[Driver] I --> J[(Database)] style A fill:#4FC08D,color:#fff style J fill:#A0AEC0,color:#fff ``` ## 关联笔记 - [[hhs/Go/]]