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

53 阅读2分钟

当谈到在Go语言中连接数据库并执行数据库操作时,GORM是一个非常受欢迎的ORM库。它简化了数据库操作,允许我们使用Go语言的结构体来定义数据库表,并提供了强大的查询功能。在本文中,我们将学习如何使用GORM连接数据库,并实现基本的增删改查操作。

1. 准备工作

首先,我们需要在Go项目中引入GORM库。可以使用以下命令来获取GORM:

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

这将会安装GORM库及其SQLite驱动程序。

2. 连接数据库

首先,我们需要创建一个数据库连接。在这个例子中,我们将使用SQLite数据库。首先,导入必要的包:

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

然后,我们可以通过以下方式连接数据库:

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

3. 定义模型

接下来,我们将使用Go语言的结构体来定义数据库表。每个结构体字段将映射到数据库表中的列。假设我们要操作一个名为"users"的表,我们可以这样定义模型:

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

4. 执行数据库操作

插入数据

要插入数据,我们可以使用Create方法:

goCopy code
func main() {
    // ...

    // 插入数据
    newUser := User{Name: "Alice", Age: 25}
    db.Create(&newUser)
}

查询数据

GORM提供了丰富的查询功能。以下是一个简单的查询示例:

goCopy code
func main() {
    // ...

    // 查询数据
    var user User
    db.First(&user, 1) // 获取ID为1的用户
    fmt.Println(user.Name, user.Age)
}

更新数据

要更新数据,我们可以使用Save方法:

goCopy code
func main() {
    // ...

    // 更新数据
    db.Model(&user).Update("Age", 26)
}

删除数据

使用Delete方法可以删除数据:

goCopy code
func main() {
    // ...

    // 删除数据
    db.Delete(&user)
}

5. 总结

通过GORM,我们可以轻松地连接数据库,并使用Go语言的结构体来定义和操作数据库表。从插入到查询再到更新和删除,GORM提供了简洁的API来执行这些操作。当然,这只是GORM功能的冰山一角,它还有更多高级功能,如关联查询、事务处理等等。