gorm框架学习笔记 | 青训营笔记

71 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天 ✌

一、本堂课重点内容:

本堂课主要讲了GROM(ORM框架)、Hertz(WEB框架)、Kitex(RPC框架),本文主要介绍GORM框架

二、详细知识点介绍:

ORM全称为Object Relational Mapping即对象关系映射,在Golang语境下,其中的Object对象其实说的是Golang中的结构体,Realtional说的是数据库(如MySQL),Mapping意思为映射,也就是说ORM框架让Golang中的结构体和真实的数据库间产生一种映射。实际操作中,可以将数据库的数据行映射到Golang中的结构体,然后在Golang中操作结构体最终映射到数据库,从而达到操作数据库的目的。

听起来很复杂,其实就是程序员在写一个GO程序时,在连接数据库的情况下可能需要在GO语句中穿插地写一些数据库语句(如SQL语句),来回切换语言使得程序缺失了整体性,需要相互依赖。因此,人们就想到能不能写程序从头到尾都只用一种语言呢,那么GORM就诞生了。它将SQL语句封装,使得程序员可以写GO的代码来对数据库进行增删改查。

三、实践练习例子:

创建一个MySQL数据库,命名为dbtest

image.png

image.png

代码执行完后的数据库

image.png

流程是先连接数据库,别忘了defer close,然后用AutoMigrate函数指定映射的结构体,默认创建的表名是结构体名+s,然后即可执行数据库的增删改查操作,具体调用函数查看文档即可。

四、课后个人总结:

用好GORM框架的前提是熟悉SQL语句,在实际项目中还要根据业务调整索引或分库分表等其他方式进行数据库性能优化,框架只是一个工具,最核心的还是数据库基础。

五、引用参考:

gorm.io/zh_CN/docs/ gorm官方文档