This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
all-in-kingsoft/hhs/GORM/README.md
T

64 lines
2.3 KiB
Markdown
Raw Normal View History

2026-04-28 20:02:42 +08:00
---
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. 查询篇
2026-04-28 20:23:33 +08:00
- **[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 / 嵌套查询
2026-04-28 20:02:42 +08:00
### 3. 进阶篇
2026-04-28 20:23:33 +08:00
- **[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
2026-04-28 20:02:42 +08:00
### 4. 工程实践篇
2026-04-28 20:23:33 +08:00
- **[14-错误处理](./14-错误处理)** — RecordNotFound、ErrRelatedExists、自定义错误判断
- **[15-性能优化](./15-性能优化)** — N+1 问题排查、Preload 策略、预编译语句
- **[16-日志与调试](./16-日志与调试)** — 慢查询监控、SQL 日志格式化
- **[17-迁移工具](./17-迁移工具)** — AutoMigrate / Migrator、版本化迁移策略
2026-04-28 20:02:42 +08:00
## 核心架构图
```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/]]