使用 GORM(Go 的 ORM 库)连接数据库,并实现增删改查操作 | 青训营

50 阅读1分钟
引言:在我们日常的开发中,需要用到mysql数据库,直接书写原生的sql语句难免有些不便,一方面会降低我们的开发效率,另一方面sql语句的准确性没有办法得到保证,于是我们选用GORM来操作数据库。但使用GORM操作数据库也无形之中增加了学习成本,是否使用GORM请根据实际需求来决定。

1.数据库的连接

在终端输入以下命令下载mysql驱动并安装GORM

go get gorm.io/driver/mysql

go get gorm.io/gorm

数据库连接操作 以下是固定写法,但请根据实际情况修改连接字符串 dsn 中的用户名、密码、数据库名称和主机端口。在上述示例中,我们使用mysql驱动程序,并指定了一些连接参数。

#`
username := "root" //账号  
password := "" //密码  
host := "127.0.0.1" //数据库地址,可以是Ip或者域名  
port := 3306 //数据库端口  
Dbname := "ezdouyin" //数据库名  
timeout := "10s" //连接超时,10秒  
  
// root:root@tcp(127.0.0.1:3306)/gorm?  
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local&timeout=%s", username, password, host, port, Dbname, timeout)  
//连接MYSQL, 获得DB类型实例,用于后面的数据库读写操作。  
db, err := gorm.Open("mysql", dsn)`

2.建表

type RelationTable struct {  
ID int64  
Follow int64  
Follower int64  
}
db.AutoMigrate(&model.RelationTable{})

3.增删改查操作

3.1 创建记录

var relation RelationTable
db.Create(&relation)

3.2 查找记录

var relation RelationTable
db.Find(&relation)

3.3 修改记录

var relation RelationTable
db.Save(&relation)

3.4 删除记录

var relation RelationTable
db.Delete(&relation)

注意,修改记录和删除记录都应在查找到记录的前提下进行,详细查找语句见文档。