Skip to content

GORM ​

模型定义 ​

模型定义 ​

模型是 GO 中标准的 struct ​

约定 ​

gorm 倾向于约定,而不是配置 ​

如:默认情况下,GORM 使用 ID 作为默认主键,使用结构体名的 蛇形复数 作为表名,字段名的 蛇形 作为列名,并使用 CreatedAt、UpdatedAt 字段追踪创建、更新时间 ​

gorm.Model ​

高级选项 ​

创建、更新时间跟踪 ​

字段标签 ​

连接数据库 ​

MySQL ​

postgres ​

sqlite ​

SQLserver ​

CRUD ​

创建 ​

查询 ​

查询单个记录 ​

db.First(&user) - // 获取第一条记录 ​
db.Take(&user) - // 获取一条记录,没有指定排序字段 ​
db.Last(&user) - // 获取最后一条记录(主键降序) ​
注意:没有找到记录时,他会返回 ErrRecordNotFound 错误 ​
// 检查 ErrRecordNotFound 错误 ​
errors.ls(result.Error, gorm.ErrRecordNotFound) ​

根据主键查询 ​

根据所有记录 ​

条件查询 ​

查询特定字段 ​

db.Select("name" , "age").Find(&users) ​
db.Select([]string{"name","age"}).Find(&users) // SELECT name, age FROM users; ​

Order 排序 ​

Limit & Offset ​

db.Limit(10).Offset(5).Find(&users) // SELECT * FROM users OFFSET 5 LIMIT 10; ​

Group & Having ​

Distinct ​

Joins ​

San ​

高级查询 ​

智能选择字段 ​

加锁 ​

子查询 ​

Count ​

更新 ​