使用GORM连接数据库与实现增删改查操作 | 青训营

75 阅读2分钟

GORM是 Go 语言操作关系型数据库的一大有力工具,在字节跳动中的应用十分广泛,考虑到它在字节的的广泛使用,出于学(chan)习(mei)的心理,我们小组在完成后端“抖声”项目时,也尝试把传统的SQL换成GORM来实践。

在实践过程中,我们参考了gorm.io/zh_CN/docs/… 里的教程,感到十分受教,在此向大家推荐同时表示感谢。

1. 安装和导入GORM: 我们是在GOLAND中安装的gorm,只需要导入

go get -u gorm.io/gorm 
go get -u gorm.io/driver/sqlite 

即可。

2. 连接数据库: GORM 官方支持的数据库类型有:MySQL, PostgreSQL, SQLite, SQL Server 和 TiDB。我们小组以MySQL为例子进行了实践。

image.png

(可以先确认自己已经安装初始化好了数据库。个人原因(也有可能是我比较笨),我比较喜欢在GUI里面实现上述操作) 以教程中的这个代码为例子,修改好数据库的地址与端口,以及自己的密码,就可以用gorm连接上了

import (   "gorm.io/driver/mysql"   "gorm.io/gorm" )  
func main() {   // 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情   dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"   db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) }

3. 实现增删改查操作: 这个就是我们这篇笔记的核心内容啦hhh,我在小组里负责的是上传存储相关的后端功能,所以这方面也接触地多一点。

  • 创建数据: 使用Create方法向数据库插入新的记录。通过创建一个与模型对应的实例并传递给Create方法,即可将数据插入数据库。

  • 删除数据: 使用Delete方法可以从数据库中删除记录。与更新类似,首先需要使用Model方法指定要删除的模型实例,然后使用Delete方法执行删除操作。

  • 更新数据: 使用ModelUpdate方法可以更新数据库中的记录。Model方法用于指定要更新的模型实例,然后使用Update方法指定要更新的字段及其新值。

  • 查询数据: 使用FirstFind方法可以从数据库中检索数据。First用于检索单个记录,而Find用于检索多个记录。可以使用Where方法来添加条件进行筛选。

5. 总结: 其实我下个学期才开始学数据库的内容,不过这次遇上用得着的地方,就小小地学习了一下,同时把一开始的SQL语句尝试改用gorm来操作,算是掌握了一门比较新鲜的工具吧。