Go语言笔记整理(三) | 青训营笔记

54 阅读1分钟

设计模式之 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.安全