返回

Go实战笔记:使用GORM完成CURD操作

后端


前言

Go是一种广受欢迎的编程语言,具有简洁、高效、并发性强的特点。它在许多领域都有广泛的应用,例如Web开发、系统编程、云计算等。GORM是一个优秀的Go语言的ORM框架,它可以帮助开发者轻松地实现数据库CRUD操作。

本文将介绍如何使用GORM来完成CRUD操作。我们首先创建一个简单的Go项目,然后安装GORM。接下来,我们将创建一个模型,并使用GORM来操作数据库。

创建项目

首先,我们创建一个新的Go项目:

go mod init gorm-demo

这将创建一个名为gorm-demo的目录,其中包含一个go.mod文件。

安装GORM

接下来,我们需要安装GORM。我们可以使用以下命令:

go get gorm.io/gorm

这将在gorm-demo目录中创建一个vendor目录,其中包含GORM的代码。

创建模型

现在,我们需要创建一个模型。模型是一个类,它表示数据库中的一个表。在我们的例子中,我们将创建一个名为User的模型,它表示user表。

package models

import "gorm.io/gorm"

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

User模型包含三个字段:IDNameEmailID字段是主键,它是一个自动生成的整数。Name字段是一个字符串,它存储用户的姓名。Email字段是一个字符串,它存储用户的电子邮件地址。

使用GORM操作数据库

现在,我们可以使用GORM来操作数据库。首先,我们需要创建一个数据库连接。我们可以使用以下代码:

package main

import (
    "fmt"

    "gorm.io/driver/sqlite"
    "gorm.io/gorm"
)

func main() {
    db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{})
    if err != nil {
        panic(err)
    }

    // 迁移schema
    db.AutoMigrate(&models.User{})

    // 创建用户
    user := &models.User{Name: "John Doe", Email: "john.doe@example.com"}
    db.Create(user)

    // 读取用户
    var users []models.User
    db.Find(&users)
    for _, user := range users {
        fmt.Println(user)
    }

    // 更新用户
    db.Model(&user).Update("Name", "Jane Doe")

    // 删除用户
    db.Delete(&user)
}

这段代码首先创建一个数据库连接,然后迁移schema。接下来,它创建了一个用户,并将其保存到数据库中。然后,它读取所有用户,并打印它们。接下来,它更新了用户的姓名,最后删除了用户。

总结

在本文中,我们介绍了如何使用GORM来完成CRUD操作。我们首先创建了一个简单的Go项目,然后安装了GORM。接下来,我们创建了一个模型,并使用GORM来操作数据库。