当涉及到数据库操作时,Golang 中的 GORM 是一个非常流行的 ORM(对象关系映射)库。它提供了简洁而强大的 API,使得数据库操作变得更加容易和高效。在本篇技术分享文章中,我们将探讨 GORM 的一些核心功能和用法。
- 安装和初始化
首先,我们需要安装 GORM。在终端中运行以下命令:
go get -u gorm.io/gorm
go get -u gorm.io/driver/<your-database-driver>
其中
在代码中导入 GORM:
Copy code
import "gorm.io/gorm"
然后,创建一个数据库连接:
dsn := "<your-dsn>" // 数据库连接字符串
db, err := gorm.Open(<your-database-driver>, dsn)
if err != nil {
// 处理错误
}
defer db.Close()
- 定义模型和数据表
在 GORM 中,我们可以使用结构体来定义数据库表的模型。每个结构体字段对应表中的一个列。
type User struct {
gorm.Model
Name string
Email string
Age int
}
上述示例定义了一个名为 User 的模型,包含了一些常见的字段。gorm.Model 是 GORM 提供的内置模型,用于自动添加 ID、CreatedAt、UpdatedAt 和 DeletedAt 字段。
- 数据库迁移
GORM 提供了数据库迁移的功能,可以根据模型定义自动创建和更新数据库表。
创建表格:
db.AutoMigrate(&User{})
上述代码会检查数据库中是否存在 users 表,如果不存在则会创建。
- CRUD 操作
GORM 提供了丰富的方法来进行 CRUD 操作。
创建记录:
user := User{Name: "John", Email: "[email protected]", Age: 25}
db.Create(&user)
读取记录:
var user User
db.First(&user, 1) // 通过主键获取第一条记录
更新记录:
db.Model(&user).Update("Age", 30)
删除记录:
db.Delete(&user)
- 查询构建器
GORM 提供了查询构建器,使得复杂的查询变得简单。
var users []User
db.Where("age > ?", 18).Find(&users)
上述代码会查询年龄大于 18 岁的所有用户。
标签:数据库,db,gorm,User,使用,GORM,user From: https://www.cnblogs.com/DTCLOUD/p/17466227.html作者:吕政超