使用 GORM 操作数据库
1. 安装 GORM
go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql
2. 初始化数据库连接
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect database")
}
3. 定义模型
type User struct {
ID uint `gorm:"primaryKey"`
Name string
Email string `gorm:"unique"`
Age int
}
4. 自动迁移
db.AutoMigrate(&User{})
自动创建或更新数据表结构。
5. CRUD 操作
创建
user := User{Name: "Alice", Email: "alice@example.com", Age: 25}
db.Create(&user)
查询
var user User
db.First(&user, 1) // 根据主键查询
db.Where("name = ?", "Alice").Find(&user)
更新
db.Model(&user).Update("Age", 26)
删除
db.Delete(&user)
6. 事务
tx := db.Begin()
if err := tx.Error; err != nil {
return err
}
if err := tx.Create(&User{Name: "Bob"}).Error; err != nil {
tx.Rollback()
return err
}
tx.Commit()
GORM 简化了数据库操作流程,支持丰富的功能和灵活的查询,是 Go 项目中高效操作数据库的利器。
相关内容
- 什么是 Go Go 是由 Google 开发的一种开源编程语言,以简洁、高效、并发编程支持强著称,广泛应用于后端开发、云原生和微服务等领域。
- Go 的特点与适用场景 Go 语言以高并发、快速编译、简洁语法和强大标准库著称,适用于构建高性能网络服务、微服务架构和云原生应用。
- 安装 Go(Windows/Linux/macOS) 本节介绍如何在 Windows、Linux 和 macOS 上安装 Go 语言开发环境,包含安装步骤、验证方法及常见注意事项。
- 设置环境变量 本节介绍如何为 Go 语言配置环境变量,包括 GOPATH、GOROOT、PATH 等关键变量,适用于 Windows、Linux 和 macOS 系统。
- 第一个 Go 程序(Hello World) 本节将带你编写第一个 Go 程序“Hello, World”,帮助你快速了解 Go 的基础语法和程序结构。
- Go Modules 简介 本节介绍 Go Modules 的基本概念与用法,它是 Go 官方推荐的依赖管理方式,支持版本控制、依赖隔离和构建一致性。