tags, create time
| tags | 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-安装与初始化 — 依赖安装、DB 连接配置、全局配置项
- 02-模型定义 — struct tag 映射、字段类型、主键策略、表名规则
- [03-CRUD 操作](./03-CRUD 操作) — Create / First / Take / Find / Get 五大方法
2. 查询篇
- 04-条件查询 — Where 链式调用、Between / In / Like / 原生 SQL
- 05-关联查询 — Preload / Joins、HasOne / HasMany / BelongsTo / ManyToMany
- 06-排序与分页 — Order / Limit / Offset / Paginate
- 07-子查询与分组 — Group / Having / SubQuery / 嵌套查询
3. 进阶篇
- 08-事务管理 — Tx 对象、Commit / Rollback、嵌套事务
- 09-钩子函数 — Before / After Save、Create、Update、Delete、Find
- 10-软删除 — SoftDelete 原理、Unscoped 强制查询
- 11-批量操作 — Bulk Insert / Update、Callback 机制
- 12-自定义字段类型 — Scanner / Valuer 接口、JSON 字段
- 13-多数据库支持 — MySQL / PostgreSQL / SQLite / SQL Server
4. 工程实践篇
- 14-错误处理 — RecordNotFound、ErrRelatedExists、自定义错误判断
- 15-性能优化 — N+1 问题排查、Preload 策略、预编译语句
- 16-日志与调试 — 慢查询监控、SQL 日志格式化
- 17-迁移工具 — AutoMigrate / Migrator、版本化迁移策略
核心架构图
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