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

85 阅读2分钟

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

在Go语言中,GORM是一个强大的ORM(Object-Relational Mapping)库,它提供了简单且灵活的方式来操作数据库,使开发者可以更轻松地进行数据库交互。本文将介绍如何使用GORM连接数据库并实现常见的增删改查操作。

1. 安装 GORM

首先,我们需要安装GORM库。在终端中运行以下命令:

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

这将安装GORM库以及SQLite数据库驱动。

2. 连接数据库

在使用GORM之前,我们需要先连接到数据库。在Go中,你可以使用不同的数据库,这里我们以SQLite为例。创建一个名为main.go的文件,然后编写以下代码:

package main

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

func main() {
    // 连接数据库
    db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
    if err != nil {
        panic("无法连接数据库")
    }
    
    // 关闭数据库连接
    defer db.Close()
}

以上代码连接到名为test.db的SQLite数据库。在实际应用中,你可以根据需要更改数据库类型和连接信息。

3. 定义模型

在GORM中,模型是数据库表的映射。我们将创建一个简单的User模型作为示例。在main.go中继续编写以下代码:

type User struct {
    ID   uint   `gorm:"primaryKey"`
    Name string
    Age  int
}

4. 创建数据表

在连接数据库后,我们需要创建对应的数据表。在main.go中的main函数中添加以下代码:

// 自动迁移(创建)数据表
db.AutoMigrate(&User{})

5. 实现增删改查操作

现在我们可以开始实现增删改查操作了。在main.gomain函数中继续添加以下代码:

// 创建用户
newUser := User{Name: "Alice", Age: 25}
db.Create(&newUser)

// 查询用户
var user User
db.First(&user, 1) // 根据ID查询第一个用户

// 更新用户
db.Model(&user).Update("Age", 26)

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

以上代码演示了如何创建、查询、更新和删除用户记录。

6. 查询多个记录和条件查询

除了操作单个记录,我们还可以查询多个记录并使用条件进行过滤。在main.gomain函数中添加以下代码:

// 查询所有用户
var users []User
db.Find(&users)

// 条件查询
var adults []User
db.Where("age >= ?", 18).Find(&adults)

总结

通过GORM,我们可以轻松地连接数据库并实现各种数据库操作。它提供了便捷的方式来映射Go结构体与数据库表,使开发过程更加高效和简便。以上示例代码演示了如何连接数据库并执行常见的增删改查操作,帮助你更好地理解如何使用GORM库进行数据库交互。