理解database/sql
1.1 基本用法-Quic
1.2 设计原理
应用程序(操作接口) database/sql(连接接口,操作接口)数据库
DB连接的类型:
直接连接/Conn
预编译/Stmt
事务/Tx
处理返回数据的几种方式
Exec/ExecContext -> Result
Query/QueryContext -> Rows(Columns)
QueryRow/QueryRowContext -> Rows(Rows 简化)<br>
GORM使用简介
2.1 背景知识
"设计简洁、功能强大、自由扩展的全功能ORM"
2.2 基本用法-crud
//操作数据库
//创建
//更新某个字段
...
2.3 模型定义
type User struct{
ID uint
...
}
type Model struct{
ID uint
...
}
2.3 模型定义 - 惯例约定
约定优于配置 表名为struct name 的 snake_cases 复数格式
2.4 关联介绍
2.4 关联操作-CRUD
2.4 关联操作 - Preload / Joins 预加载
2.4 关联操作 - 级联删除
GORM设计原理
3.1 SQL是怎么生成的
db.Where().Where().Limit().Order().Find()
自定义 Clause Bullder
扩展 Clause
自由选择 Clauses
3.1 SQL是怎么生成的-自定义Builder
3.1 SQL是怎么生成的-扩展子句
3.1 SQL是怎么生成的-选择子句
3.2 插件是怎么工作的
(灵活定制、自由扩展)
3.2 插件是怎么工作的 - 多租户
3.2 插件是怎么工作的 - 多数据库、读写分离
3.3 ConnPool
3.4 Dialector
GORM最佳实践
4.1 数据序列化与SQL表达式-SQL表达式更新创建
4.2 批量数据操作-批量创建/查询
4.2 批量数据操作-批量更新
4.2 批量数据操作-批数据加速操作
4.3 代码复用、分库分表、SHARDING - 代码复用
4.3 代码复用、分库分表、SHARDING - 分库分表
4.3 代码复用、分库分表、SHARDING - Sharding
4.4 混沌工程 / 压测
4.5 Logger / Trace
4.6 Migrator - 数据库迁移管理
4.7 Gen 代码生成 / Raw SQL - Raw SQL
4.7 Gen 代码生成 / Raw SQL - Raw Gen
4.8 安全问题
总结:整体过了一遍,还是需要看源码