设计模式之databasesql与GORM实践一 01、理解database/sql import driver 实现 使用 driver + DSN 初始化 D B 连接
执行一条 SQL , 通过 rows 取回返回的数据 处理完毕 , 需要释放链接 go复制代码
Exec / ExecContext . > Result Query / QueryContext . > Rows (COIumns) QueryRow / QueryRowContext - > ROW (Rows 简化 ) 02、GORM 使用简介 “ 设计简洁 、 功能强大 、 自由扩展的全功能 ORM ” 设计原则 : API 精简 、 测试优先 、 最小惊讶 、 灵活扩展 、 无依赖 功能完善 :
关联 : 一对一 、 一对多 、 单表自关联 、 多态 ; PreIoad 、 Joins 颅加载 、 绒联删 ; 关目关模式 ; 自定义关联表
事务 : 事务代码块 、 嵌事务 、 Save Point
多数数库 、 读写分离 、 命名参数 、 Map 、 子询 、 分组条件 、 代码共享 、 SQL 表达式 ( 查询 、 创建 、 更新 ) 、 自动选字段 、 洵优化器
字段权限 、 软删除 、 批虽数据处理 、 Prepared 自定义类型 、 命名略 、 虚拟字段 、 自动 track 时间 、 SQL Builder 、 Logger
代码生成 、 复合主腱 、 Constraint 、 Prometheus 、 Auto Migration 、 百 . 数据库兼容一
模式灵活自由扩展
模型定义 管理约定 关联介绍 关联操作 约定优于配置
表名为 struct name 的 snake_cases 复数格式 字段名为 field name 的 snake—case 单数格式 旧 / ld 字段为主譴 , 如果为数字 , 则为自增主键 CreatedAt 字段 , 创建时 , 保存当前时间 UpdatedAt 字段 , 创建 、 更新时 , 保存当前时间 gorm.DeletedAt 字段 , 默认开启 soft delete 模式