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

71 阅读2分钟

为了连接数据库并实现增删改查操作,我们可以使用Go语言中流行的ORM(对象关系映射)库,如GORM或XORM。这些库可以让我们更方便地操作数据库。 以下是使用GORM库连接数据库、进行增删改查操作的过程:

安装GORM库:

可以使用go get命令安装GORM库。

导入所需的包:

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


创建数据库连接:

dsn := "user:password@tcp(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
    panic("连接数据库失败")
}

其中,user和password是数据库的用户名和密码,database_name是要连接的数据库名称,127.0.0.1:3306是数据库的地址和端口。

定义模型结构:

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

这是一个简单的用户模型,包含了Name和Email两个字段。

创建表格:

err = db.AutoMigrate(&User{})
if err != nil {
    panic("创建表格失败")
}


使用AutoMigrate方法创建User模型对应的数据库表格。

插入数据:

user := User{Name: "John", Email: "john@example.com"}
result := db.Create(&user)
if result.Error != nil {
    panic("插入数据失败")
}

使用Create方法将数据插入到数据库中。

查询数据:

var user User
result := db.First(&user, 1)
if result.Error != nil {
    panic("查询数据失败")
}
fmt.Println(user.Name, user.Email)

使用First方法查询id为1的用户数据。

更新数据:

result := db.Model(&user).Update("Email", "new_email@example.com")
if result.Error != nil {
    panic("更新数据失败")
}

使用Update方法更新用户数据。

删除数据:

result := db.Delete(&user)
if result.Error != nil {
    panic("删除数据失败")
}


使用Delete方法删除用户数据。

在以上代码示例中,我们首先导入了GORM库所需的包。然后,通过gorm.Open函数创建了一个数据库连接。接着,定义了一个简单的用户模型,并使用AutoMigrate方法创建了对应的数据库表格。 我们使用Create方法将数据插入到数据库中,使用First方法查询数据,使用Update方法更新数据,使用Delete方法删除数据。

总之,通过GORM库,我们可以轻松地连接数据库并进行常见的增删改查操作,极大地简化了与数据库的交互过程。以上是一个简单示例,实际中可以根据需求进行其他操作和扩展。