设计模式之 Database/SQL 与 GORM 实践
01.理解 database/sql
基本用法
import driver实现
使用driver + DSN初始化DB连接
执行一条SQL,通过rows取回返回的数据处理完毕,需要释放链接
02.GORM基础使用
惯例约定
约定优于配置
表名为struct name的snake_cases复数格式
字段名为field name的snake_case 单数格式
ID /ld字段为主键,如果为数字,则为自增主键
CreatedAt字段,创建时,保存当前时间
UpdatedAt字段,创建、更新时,保存当前时间
gorm.DeletedAt字段,默认开启soft delete模式
如果没有TableName函数,使用结构体的蛇形复数作为表名
03.GORM设计原理
Sql生成:自定义Clause Builder,方便扩展 Clause,自由选择Clauses
插件是如何工作的:灵活定制/自由扩展多租户、多数据库、读写分离、加解密、混沌工程...
04.GORM最佳实践
1.数据序列化与SQL表达式
2.批量数据操作
3.代码复用、分库分表、Sharding
4.混沌工程
5.Logger / Trace
6.Migrator
7.Gen代码生成/Raw SQL
8.安全