使用GORM进行数据库操作| 青训营

62 阅读1分钟

使用 GORM 进行数据库操作

GORM 是 Go 语言中一个流行的 ORM(对象关系映射)库,它提供了简单的 API 来与数据库进行交互。本文你如何使用 GORM 连接数据库,并实现基本的增删改查操作。

1. 安装 GORM

首先,你需要安装 GORM。使用以下命令安装:

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

这里我们使用 SQLite 作为示例数据库,但 GORM 支持多种数据库。

2. 定义模型

定义一个简单的 User 模型:

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

3. 连接数据库

goCopy code
package main

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

func main() {
    db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})
    if err != nil {
        panic("failed to connect database")
    }

    // 迁移 schema
    db.AutoMigrate(&User{})
}

4. 增删改查操作

4.1. 创建记录

goCopy code
user := User{Name: "John", Age: 25}
result := db.Create(&user) // 通过数据的指针来创建

if result.Error != nil {
    panic(result.Error)
}

4.2. 查询记录

goCopy code
// 查询单个记录
var user User
db.First(&user, 1) // 查询 ID 为 1 的用户

// 查询所有记录
var users []User
db.Find(&users)

// 条件查询
var userJohn User
db.Where("name = ?", "John").First(&userJohn)

4.3. 更新记录

goCopy code
// 更新单个属性
db.Model(&user).Update("Name", "Jane")

// 更新多个属性
db.Model(&user).Updates(User{Name: "Jane", Age: 30})

// 使用 `Save` 更新所有字段
user.Name = "Jane"
user.Age = 30
db.Save(&user)

4.4. 删除记录

goCopy code
db.Delete(&user)

5. 结束

现在,你应该了解了如何使用 GORM 进行基本的数据库操作。GORM 还有很多高级功能,例如事务、关联和预加载等,更多内容你可以查阅 GORM 的官方文档来深入学习。