第六届字节跳动青训营第四课 | 青训营

95 阅读2分钟

学习笔记:使用 GORM 连接数据库并实现增删改查操作

介绍: GORM 是 Go 语言中一个流行的 ORM(对象关系映射)库,它提供了便捷的方式来连接数据库、定义模型和执行数据库操作。本学习笔记将重点介绍如何使用 GORM 连接数据库,并实现基本的增删改查操作。

步骤一:安装 GORM 和数据库驱动

首先,需要安装 GORM 和数据库驱动。可以使用以下命令来安装:

go get -u github.com/go-gorm/gorm
go get -u github.com/go-sql-driver/mysql

步骤二:连接数据库

首先,需要在代码中导入 GORM 和数据库驱动:

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

然后,可以通过以下代码连接到数据库:

dsn := "username:password@tcp(localhost:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
    panic("Failed to connect to database")
}

步骤三:定义模型

在 GORM 中,模型对应数据库中的表。可以通过定义结构体来创建模型:

type User struct {
    gorm.Model
    Name  string
    Email string
}

步骤四:创建表和迁移

可以使用 GORM 的 AutoMigrate 方法来自动创建表和进行迁移:

db.AutoMigrate(&User{})

步骤五:实现增删改查操作

接下来,可以使用 GORM 提供的方法来实现增删改查操作。

创建记录:

user := User{Name: "John", Email: "john@example.com"}
db.Create(&user)

查询记录:

var users []User
db.Find(&users)

更新记录:

db.Model(&user).Update("Name", "John Doe")

删除记录:

db.Delete(&user)

总结: 使用 GORM 可以方便地连接数据库,并实现增删改查等操作。通过导入 GORM 和数据库驱动,连接到数据库;定义模型来创建表;使用 AutoMigrate 进行表的创建和迁移;通过 GORM 提供的方法实现增删改查操作。以上是一个简单的示例,您可以根据具体需求进行相应的调整和扩展。

完整示例代码如下:

package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

type User struct {
	gorm.Model
	Name  string
	Email string
}

func main() {
	dsn := "username:password@tcp(localhost:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic("Failed to connect to database")
	}

	db.AutoMigrate(&User{})

	// 创建记录
	user := User{Name: "John", Email: "john@example.com"}
	db.Create(&user)

	// 查询记录
	var users []User
	db.Find(&users)

	// 更新记录
	db.Model(&user).Update("Name", "John Doe")

	// 删除记录
	db.Delete(&user)
}