使用 GORM连接数据库 | 青训营

69 阅读2分钟

什么是ORM

ORM的全称是Object Relational Mapping,逐个单词翻译的话就是“对象”、“关系”、“映射”。对象指的是Go语言中的“结构体”,关系指的是“数据库”,如MySQL。

比如在代码中我有一个名为Human的结构体,它有Name``Age``High的属性。假如我有这样一个实力u := Human{Tom,17,176},我想把它存入数据库,那么我们就需要在代码嵌入SQL语句。这就要求我们要同时会GO语言和SQL语句。那么当我们使用ORM,我们只用输入ORM语句,就会更加的简洁高效,提高开发效率。

使用GORM

安装

在这里,我会使用MySQL进行演示。首先,我们需要先安装GORM和MySQL的驱动,需要使用到下面两个代码

go get gorm.io/gorm
go ger gorm.io/driver/mysql

链接数据库

首先,我们需要先创建一个数据库,表名记住,后面要用。创建完后,我们实现了以下代码:

image.png

大家可以发现我创建了一个名为Human的结构体,后续我会将它传入数据库。其中17行代码是数据库的dsn。root:后是数据库密码。db2则是数据库名。这两个是大家需要更改的,其余部分可以先照抄。

来到数据库,输入show tables;会发多了“humen”。细心的小伙伴会发现,我代码写的是“Human”,它却变成了其复数形式“Humen”

image.png 再输入desc humen; select * from humen;,会发现出现了结构体的字段,和我们插入的第一条数据。

image.png

增删改查

增加

其实在我们上文连接数据库时,我们就已经初步实现了数据的增加。我们使用的代码是db.Creat(),其中db是我们使用gorm.Open()时的第一个返回值。

查询

这里我们使用db.First()实现了查询第一条数据的功能。我们首先创建了一个变量,查询第一条数据,并将其赋值给它,最后将它格式化打印出来,代码如下:

image.png

更新

在此,我们使用的是db.Model().Update(“字段”,“修改后”)来将篮球修改成了足球,代码实现如下:

image.png

删除

使用代码如下,值得注意的是括号里传的是地址,会将这个地址指向的值所对应的数据删除

image.png