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

93 阅读2分钟

GORM(Go Object Relational Mapping)是一个优秀的 Go 语言 ORM 库,它简化了在 Go 语言中操作数据库的过程。本文将介绍如何使用 GORM 连接数据库并实现基本的增删改查(CRUD)操作。

1. 安装 GORM

在开始之前,首先需要安装 GORM。可以通过以下命令使用 Go 模块进行安装:

go get -u gorm.io/gorm

2. 连接数据库

首先,在代码中导入 GORM 包:

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

然后,使用以下代码片段来连接 SQLite 数据库(你也可以选择其他数据库,只需要更改连接驱动即可):

func main() {
    dsn := "path/to/your/database.db"
    db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{})
    if err != nil {
        panic("Failed to connect to database")
    }
    // 此处可添加后续操作
}

3. 定义模型

在 GORM 中,模型是与数据库表对应的结构体。我们可以通过定义结构体来映射数据库表,并在模型中定义字段、约束等。

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

4. 创建记录(Create)

通过调用 db.Create() 方法,你可以将一个新的对象插入到数据库中: func createUser(db *gorm.DB, user *User) { db.Create(user) }

5. 查询记录(Read)

GORM 提供了多种方式来查询数据库中的记录。

查询单条记录

func getUserByID(db *gorm.DB, id uint) (User, error) {
    var user User
    err := db.First(&user, id).Error
    return user, err
}

查询多条记录

func getAllUsers(db *gorm.DB) ([]User, error) {
    var users []User
    err := db.Find(&users).Error
    return users, err
}

6. 更新记录(Update)

通过修改结构体对象的字段值并调用 db.Save() 方法,可以将更改保存回数据库:

func updateUser(db *gorm.DB, user *User) {
    db.Save(user)
}

7. 删除记录(Delete)

使用 db.Delete() 方法来删除数据库中的记录:

func deleteUser(db *gorm.DB, user *User) {
    db.Delete(user)
}

通过 GORM,可以更轻松地进行数据库操作,减少了繁琐的 SQL 编写工作,专注于业务逻辑的开发。当然,在实际开发中,还可以结合错误处理、事务等特性,进一步完善数据库操作。