GORM实现增删改查操作 | 青训营

68 阅读3分钟

引言

本笔记介绍了如何使用 GORM,一款流行的 Go 语言 ORM 库,来连接数据库并实现常见的增删改查操作

  ORM(Object Relational Mapping),意思是对象关系映射。在现代应用程序开发中,数据库是不可或缺的。而使用 ORM(对象关系映射)库可以大大简化与数据库的交互。GORM 是一款流行的 Go 语言 ORM 库,它提供了强大且简洁的 API,使得开发者可以轻松地连接数据库并进行数据库操作。

步骤 1

安装 GORM 和数据库驱动

  首先,我们需要安装 GORM 和相应的数据库驱动。可以通过运行以下命令来安装 GORM:


go get -u gorm.io/gorm

 

同时,安装与您所使用的数据库相对应的数据库驱动。例如,如果使用的是 MySQL 数据库,可以运行以下命令安装对应的驱动:


go get -u gorm.io/driver/mysql

 

步骤 2:连接数据库

在代码中导入 GORM 和相应的数据库驱动后,我们需要设置数据库连接并连接到数据库。gorm 可以连接多种数据库,只需要不同的驱动即可。官方目前仅支持 MySQL、PostgreSQL、SQlite、SQL Server 四种数据库,不过可以通过自定义的方式接入其他数据库。

下面以连接 mySQL 为例,示例代码如下:

 


import (

    "gorm.io/gorm"

    "gorm.io/driver/mysql"

)

 
func main() {

    dsn := "user:password@tcp(localhost:3306)/database?charset=utf8mb4&parseTime=True&loc=Local"

    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

    if err != nil {

        panic("Failed to connect to database")

    }

 

    // 连接成功,可以开始进行数据库操作

}

  在代码中,我们需要提供数据库的连接信息,例如用户名、密码、数据库地址和端口等。根据所使用的数据库类型,连接信息的格式可能会有所不同,请根据实际情况进行调整。

 

步骤 3:定义模型

 

在数据库操作中,我们需要定义模型来表示数据库中的表结构。GORM 支持使用结构体来定义模型。示例代码如下:


type User struct {

    gorm.Model

    Name  string

    Email string

}

  在上述代码中,我们定义了一个名为 User 的模型,它包含了 Name 和 Email 两个字段,并继承了 gorm.Model,以自动添加创建时间、更新时间和删除时间字段。

步骤 4:执行数据库操作

 

接下来,我们可以执行常见的数据库操作,例如插入、查询、更新和删除等。以下是一些示例代码:

  • 添加记录:

 


user := User{Name: "Alice", Email: "alice@example.com"}

db.Create(&user)

 

  • 查询记录:

 


var users []User

db.Find(&users)

  • 更新记录:

db.Model(&user).Update("Email", "newemail@example.com")

  • 删除记录:

db.Delete(&user)

 

步骤 5:关闭数据库连接

  当数据库操作完成后,我们需要关闭数据库连接以释放资源。示例代码如下:

 


db.Close()

结束语:通过本笔记,我们了解了如何使用 GORM 连接数据库并实现常见的增删改查操作。GORM 提供了简洁而强大的 API,使得数据库操作变得更加容易。读者可以在实际开发中根据自己的需求和业务逻辑进行进一步的应用。