打好基础
4 组 · 16 篇GORM 基础概念
3 篇CRUD 基础操作
5 篇GORM 创建记录
介绍 GORM 中使用 Create 方法插入单条或多条记录,处理返回的主键值与关联数据。
GORM 查询记录基础
介绍 GORM 中使用 First、Take、Last、Find 方法按主键或条件查询记录的核心用法。
GORM 更新记录
介绍 GORM 中使用 Save、Update、Updates 方法更新单个或多个字段的核心用法与区别。
GORM 删除记录
介绍 GORM 中使用 Delete 方法执行软删除与硬删除操作的核心用法与区别。
GORM 查询条件构建
介绍 GORM 中使用 Where、Not、Or 方法构建复杂查询条件的核心用法。
模型标签与字段配置
5 篇gorm tag 使用
介绍 GORM 中 gorm tag 的使用方法,包括 column、type、primaryKey、autoIncrement 等常用标签配置。
标签配置默认值
介绍 GORM 中使用 default 标签设置字段默认值,理解数据库层面的默认值应用机制。
字段忽略与只读配置
介绍 GORM 中使用 - 和 -> 标签实现字段忽略与只读控制,管理字段的读写行为。
索引标签配置
介绍 GORM 中使用 index、uniqueIndex 标签创建普通索引与唯一索引,提升查询性能。
命名约定与映射规则
介绍 GORM 中表名、列名的蛇形命名规则与自定义映射方式,理解默认命名约定。
核心能力
8 组 · 32 篇关联关系管理
5 篇GORM 一对多关系配置
介绍 GORM 中一对多关系的配置方式,使用 hasMany 实现主从表关联查询。
GORM 多对多关系配置
介绍 GORM 中多对多关系的配置方式,使用 many2many 实现多对多关联,处理中间表结构。
GORM 一对一关系配置
介绍 GORM 中一对一关系的配置方式,使用 hasOne 和 belongsTo 实现主子表关联查询。
GORM 关联查询与预加载
使用 Preload、Joins 方法实现关联数据加载,掌握避免 N+1 查询问题的核心技巧。
GORM 关联数据创建与更新
在创建、更新主记录时同步处理关联记录的级联操作,掌握 GORM 中级联写入的核心方法。
高级查询技术
5 篇GORM 链式查询详解
介绍 GORM 链式查询的使用方式,组合 Select、Where、Group、Order 等方法构建复杂查询。
GORM 子查询实现
使用 SubQuery 方法构建子查询,实现复杂嵌套查询逻辑。
GORM 分组与聚合查询
使用 Group、Having、Select 聚合函数实现分组统计查询。
GORM 分页查询实现
介绍 GORM 中分页查询的实现方式,使用 Limit、Offset 实现分页,处理总记录数统计。
GORM 原生 SQL 执行
使用 Raw、Scan 方法执行原生 SQL,处理 GORM 链式方法无法覆盖的复杂查询场景。
事务处理
4 篇GORM 事务基础与使用
介绍 GORM 中事务的基础概念,使用 Begin、Commit、Rollback 方法管理事务生命周期,确保数据操作的原子性。
GORM 嵌套事务实现
介绍 GORM 中嵌套事务的实现方式,使用 SavePoint、RollbackTo 方法创建保存点,实现局部回滚。
GORM 事务上下文传递
介绍 GORM 中事务上下文的传递方式,使用 WithContext、Session 方法确保多方法共用同一个事务连接。
GORM 事务隔离级别配置
介绍 GORM 中事务隔离级别的配置方式,处理 ReadCommitted、RepeatableRead 等隔离级别下的并发问题。
钩子函数与回调机制
4 篇错误处理与日志
4 篇插件系统
3 篇软删除机制
4 篇GORM DeletedAt 字段使用
介绍 GORM 软删除机制,使用 gorm.DeletedAt 字段实现数据逻辑删除与恢复。
GORM 软删除查询过滤
GORM 软删除机制会在查询时自动添加 DeletedAt IS NULL 条件,本文介绍查询过滤机制与 Unscoped 例外场景。
GORM 恢复已删除记录
使用 Unscoped 查询已删除记录,通过 Update 将 DeletedAt 设为 NULL 恢复记录,本文介绍完整恢复流程。
GORM 硬删除执行
使用 Unscoped().Delete() 执行真正的物理删除操作,本文介绍硬删除语法、批量删除与注意事项。
高阶实战
7 组 · 26 篇性能优化与调优
4 篇GORM N+1 查询问题深度优化
GORM 中 N+1 查询是常见性能瓶颈,本文介绍使用 Preload、Joins、Select 批量加载的优化策略与适用场景。
GORM 批量操作性能调优
使用 CreateInBatches 优化批量插入,调整批次大小平衡内存与性能,避免大规模数据操作的瓶颈。
GORM 查询计划分析与优化
使用 EXPLAIN 分析 SQL 执行计划,优化索引使用与表扫描策略,提升 GORM 查询性能。
GORM 读写分离实现
配置主从数据库读写分离,使用 Resolver 自动路由查询与写入操作,提升数据库扩展性与性能。
高级并发与锁机制
4 篇悲观锁实现
使用 GORM Clauses 实现 SELECT FOR UPDATE 悲观锁,在高并发场景下确保数据一致性,避免脏读和丢失更新问题。
乐观锁实现
通过版本号或时间戳字段实现乐观锁,利用 GORM 更新条件校验机制,在低冲突场景下避免并发更新导致的数据覆盖问题。
分布式锁集成
在 GORM 回调或业务层集成 Redis 分布式锁,实现跨进程和跨节点的并发控制,解决多实例部署下的数据竞争问题。
死锁检测与处理
识别 GORM 事务中的死锁场景,实现自动重试机制与超时控制,记录死锁日志用于排查,提升高并发下的系统稳定性。