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

77 阅读2分钟

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

介绍

GORM是一个轻量级的ORM库,它能够让开发者以对象关系映射(ORM)的方式与多种数据库进行交互,包括MySQL、PostgreSQL、SQLite等。也是Go语言中一个强大的ORM(对象关系映射)库,它提供了简单易用的API来连接数据库并执行常见的增删改查操作。本文将展示如何使用GORM来连接数据库并实现基本的创建、读取、更新、删除功能。 本次实践尝试在kitex框架中实现一个学生信息注册和查询的简单http服务。其中的数据库部分使用GORM。

过程

首先,我们需要在Go项目中安装GORM库。打开终端,进入项目目录,执行以下命令:

go get gorm.io/gorm

安装完成后,我们可以在代码中引入GORM库,并使用以下语句初始化数据库连接:

db, err := gorm.Open(postgres.New(postgres.Config{
    DSN: "user=yourusername dbname=yourdatabase sslmode=disable",
}))
if err != nil {
    panic(err)
}

其中,postgres.New()函数用于创建一个PostgreSQL数据库连接,DSN参数表示数据库连接的字符串,包括用户名、数据库名和SSL模式等。 接下来,我们创建一个数据模型。假设我们有一个名为User的数据结构,包含以下字段:

type User struct {
    ID        int64  `gorm:"primaryKey"`
    Name      string
    Age       int
    CreatedAt time.Time `gorm:"default:current_timestamp"`
    UpdatedAt time.Time `gorm:"default:current_timestamp"`
}

然后,我们可以使用以下代码在数据库中创建相应的表: 该语句会自动根据数据模型创建对应的表,并将字段映射到表中。 现在,我们可以使用GORM库提供的API进行增删改查操作。以下是相应的示例代码: 插入数据:

user := User{Name: "NNN", Age: 30}
db.Create(&user)

该代码会在数据库中插入一条记录,Create()函数会将数据模型转换为记录,并将其插入到相应的表中。 查询数据:

var users []User
db.Where("name = ?", "NNN").Find(&users)

该代码会查询名为“NNN”的用户,并将查询结果保存到users切片中。Where()函数用于设置查询条件,Find()函数用于执行查询操作。 更新数据:

user := User{ID: 1, Name: "nnn"}
db.Model(&user).Update("name", "nnn")

该代码会更新ID为1的用户的名字为“nnn”。Model()函数用于设置要更新的记录,Update()函数用于更新记录中的字段。 删除数据:

user := User{ID: 1}
db.Delete(&user)

该代码会删除ID为1的记录。Delete()函数用于删除记录。

以上就是使用GORM连接数据库并实现增删改查操作的基本步骤。在实际开发中,我们还可以根据具体需求进行更复杂的的数据操作。需要注意的是,在进行数据库操作时,我们需要在代码中处理可能出现的错误,以保证程序的运行的稳定性。