Go 语言基础(23) | 青训营笔记

42 阅读1分钟

database/sql

设计原理:

flowchart LR
    n1[应用程序] -- 操作接口 --- n2[database/sql] -- 连接接口 --- n3[数据库]

应用程序和 database/sql 之间视作上层应用,database/sql 是连接池,database/sql 和数据库之间是数据库 driver。

GORM 基础使用

设计简洁,功能强大,自由扩展的全功能 ORM。

设计原则:API 精简,测试优先,最小惊讶,灵活扩展,无依赖,可信赖

功能完善:

  • 关联:一对一,一对多,单表自关联,多态;Preload,Joins 预加载,级联删除;关联模式;自定义关联表
  • 事务:事务代码块,嵌套事务,Save Point
  • 多数据库,读写分离,命名参数,Mao,子查询,分组条件,代码共享,SQL 表达式(查询,创建,更新),自动选字段,查询优化器
  • 字段权限,软删除,批量数据处理,Prepared Stmt,自定义类型,命名策略,虚拟字段,自动 track 时间,SQL Builder,Logger
  • 代码生成,复合主键,Constraint,Prometheus,Auto Migration,真·跨数据库兼容...
  • 多模式灵活自由扩展
  • Developer Friendly

代码例子之后补充。