这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
理解 database/sql
设计原理
GORM基础使用
基本用法
基本用法-CRUD
模型定义
约定优于配置
- 表名为 struct name 的 snake_cases 复数格式
- 字段名为 field name 的snake_case 单数格式
- ID/id 字段为主键,如果为数字,则为自增主键
- CreateAt 字段,创建时,保存当前时间
- UpdatedAt 字段,创建、更新时,保存当期时间
- gorm.DeleteAt 字段,默认开启 soft delete 模式
GORM 设计原理
SQL是怎么生成的
- 自定义Clause Builder
- 方便扩展Clause
- 自由选择Clauses
插件 怎么工作的
多租户;多数据库、读写分离,加解密、混沌工程。
interpolateParams = false 执行前预编译SQL,调用预编译的SQL,关闭预编译的SQL
Dialector
- 定制SQL生成
- 定制GORM插件
- 定制ConnPool
- 定制企业特性逻辑