什么是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
链接数据库
首先,我们需要先创建一个数据库,表名记住,后面要用。创建完后,我们实现了以下代码:
大家可以发现我创建了一个名为Human的结构体,后续我会将它传入数据库。其中17行代码是数据库的dsn。root:后是数据库密码。db2则是数据库名。这两个是大家需要更改的,其余部分可以先照抄。
来到数据库,输入show tables;会发多了“humen”。细心的小伙伴会发现,我代码写的是“Human”,它却变成了其复数形式“Humen”
再输入
desc humen;和 select * from humen;,会发现出现了结构体的字段,和我们插入的第一条数据。
增删改查
增加
其实在我们上文连接数据库时,我们就已经初步实现了数据的增加。我们使用的代码是db.Creat(),其中db是我们使用gorm.Open()时的第一个返回值。
查询
这里我们使用db.First()实现了查询第一条数据的功能。我们首先创建了一个变量,查询第一条数据,并将其赋值给它,最后将它格式化打印出来,代码如下:
更新
在此,我们使用的是db.Model().Update(“字段”,“修改后”)来将篮球修改成了足球,代码实现如下:
删除
使用代码如下,值得注意的是括号里传的是地址,会将这个地址指向的值所对应的数据删除