GORM 设计原理 | 青训营笔记

90 阅读1分钟

今天是第10篇笔记打卡学习,学习一下GORM 设计原理,以下是知识点总结:

分为四个模块:SQL生成、插件扩展、ConnPool、Dialector. 如何才能使用GORM?

go get -u gorm.io/gorm

安装相应的数据库驱动。GORM 官方支持的数据库类型有: MySQL, PostgreSQL, SQlite, SQL Server

go get -u gorm.io/driver/mysql

①GORM所处的位置:

②GORM Statement对SQL语句进行一个仿生的设计,相比于SQL语句可以更好地去扩展

③为什么这么设计?

1.可以自定义Bulider

2.扩展子句

3.选择子句

其他语言设计的处理方式:

GORM则可以自定义选择子句

④插件如何工作的

为什么这么设计呢?

答:为了灵活定制功能,进行自由的扩展,以便实现多租户、多数据库、读写分离、扩展功能(加解密、混沌工程等)等。

⑤ConnPool是什么

以往的数据库在进行读和写操作的时候对应的是不同的数据库,ConnPool作为数据库连接池,表示在程序启动时建立足够的数据库连接,并将这些数据库连接组成一个连接池,由程序动态地对连接池中的数据库连接进行申请、使用、释放。

总之,一行代码提升效率:优化预编译

⑥Dialector

字节封装的bytegorm,一套sql规范。