背景知识
理解database/sql
基本用法-Quick Start
设计原理
GROM基础使用
背景知识
“设计简洁、功能强大、自由扩展的全功能ORM”
-
设计原则:API精简、测试优先、最小惊讶、灵活扩展、无依赖、可信赖
-
功能完善
- 关联:一对一、一对多、单表自关联、多态;Preload。Joins预加载、级联删除;关联模式;自定义关联
- 事务:事务代码块、嵌套事务、Save Point
- 多数据库、读写分离、命名参数、Map、子查询、分组条件、代码共享、SQL表达式(查询、创建、更新)、自动选字段、查询优化器
- 字段权限、软删除、批量数据处理、Prepared Stmt、自定义类型、命名策略、虚拟字段、自动track时间、SQL Builder、Logger
- 代码生成、复合主键、Constraint、Prometheus、Auto Migration、真·靠数据库兼容……
- 多模式灵活自由可扩展
- Developer Friendly
基本用法
CRUD
模型定义
惯例约定
约定优于配置
- 表名为struct name的snake_cases的复数格式
- 字段名为field name的snake_cases的单数形式
- ID/id字段为主键,如果为数字,则为自增主键
- CreatedAt字段,创建时,保存当前时间
- UpdatedAt字段,创建、更新时,保存当前时间
- gorm.DeletedAt字段,默认开启soft delete模式