使用 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 的官方文档来深入学习。