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

149 阅读2分钟

GORM(Go Object Relational Mapping)是一个在Go语言中使用的对象关系映射(ORM)库。GORM 想要简化 Go 语言开发人员与数据库交互的过程,提供了一种简洁的方式来执行常见的数据库操作,如查询、插入、更新和删除。它支持多种关系型数据库,包括 MySQL、PostgreSQL 等。

一、安装 GORM 和 MySQL

首先我们需要安装 GORM 库。go 中安装库相当便捷,下面是安装 GORM 的相关指令:

go get gorm.io/gorm
go get gorm.io/driver/mysql

我将通过 MySQL 演示 GORM 的使用,故这里也提供一下 MySQL 的安装命令

sudo apt install mysql

二、连接数据库

我们需要在代码中配置数据库连接信息。

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

func ConnectDatabase() (*gorm.DB, error) {
    sql := "user:password@host/database" // 替换为您自己的数据库连接信息

    db, err := gorm.Open(mysql.Open(sql), &gorm.Config{})
    if err != nil {
        return nil, err
    }

    return db, nil
}

三、定义表结构

接下来,我们需要定义与数据库表对应的表结构体。这里以一个用户表为例:

type User struct {
    gorm.Model
    Age int `gorm:"column:age"`
    Name  string `gorm:"column:name"`
}

四、创建数据表

在开始插入数据之前,我们需要先创建相应的数据表。可以在项目启动时调用AutoMigrate方法来自动同步模型与数据库表结构。

func Migrate(db *gorm.DB) error {
    if err := db.AutoMigrate(&User{}); err != nil {
        return err
    }
    
    return nil
}

五、增删改查

现在我们已经准备好了,可以开始使用GORM进行增删改查操作了。以下是一些基本的示例代码:

// 增加表项
func CreateUser(db *gorm.DB, user *User) error {
    return db.Create(user).Error
}


// 删除表项
func DeleteUser(db *gorm.DB, id uint) error {
    return db.Delete(&User{}, id).Error
}

// 更新表项
func UpdateUser(db *gorm.DB, id uint, age int) error {
    return db.Model(&User{}).Where("id = ?", id).Update("age", age).Error
}

// 查询表项
func SearchUser(db *gorm.DB, id uint) (*User, error) {
    user := &User{}
    err := db.First(&user, id).Error
    return user, err
}

以上就是连接数据库以及增删改查代码的实现步骤。当然目前的代码还未完善,读者可以根据自己的需求进一步扩展和优化代码,并使用 GORM 提供的丰富功能进行更复杂的数据库操作。

希望本文能帮助您理解如何使用GORM进行数据库操作,使您的Go语言开发更加高效和便捷!