vault backup: 2026-04-28 20:02:42
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
---
|
||||
tags: [GORM, Go, ORM, Database]
|
||||
create time: 2026-04-28 00:00
|
||||
---
|
||||
|
||||
# GORM 知识库
|
||||
|
||||
## 概述
|
||||
|
||||
GORM 是 Go 生态中最流行的 ORM 库,本知识库系统整理 GORM 的核心概念、进阶用法和工程实践。
|
||||
|
||||
## 目录索引
|
||||
|
||||
### 1. 基础篇
|
||||
|
||||
- **[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/]]
|
||||
Reference in New Issue
Block a user