返回
高效链接与数据管理:使用 GORM 在 Go 中连接数据库与实现增删改查
见解分享
2023-12-30 14:08:21
踏入 GORM 世界:连接数据库
在 Go 中使用 GORM 与数据库建立连接可谓轻而易举。只需几行代码,您就可以让应用程序与数据库进行交互,尽享数据管理的便捷。
增删改查:数据库操作的基石
GORM 提供了清晰明了的 API,让您轻松实现数据库的基本操作:
创建(Create) :将数据写入数据库,开启持久化存储之旅。
读取(Read) :从数据库中检索数据,让信息触手可及。
更新(Update) :修改数据库中的现有数据,保持信息的时效性。
删除(Delete) :从数据库中移除数据,实现数据的清理与优化。
实践出真知:增删改查的代码示例
理论与实践相辅相成,我们通过代码示例,让 GORM 的增删改查操作更加生动易懂:
package main
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Product struct {
ID int
Name string
Price float64
}
func main() {
// 创建数据库连接
dsn := "user:password@tcp(127.0.0.1:3306)/gorm?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
// 自动迁移,创建表
db.AutoMigrate(&Product{})
// 增
product := Product{Name: "Apple iPhone 13", Price: 999.99}
db.Create(&product)
// 查
var products []Product
db.Find(&products)
// 改
product.Price = 1099.99
db.Save(&product)
// 删
db.Delete(&product)
// 打印结果
fmt.Println(products)
}
点睛之笔:封装操作,打造更优雅的代码
为了让代码更加整洁、易读,我们可以将增删改查的操作封装成函数,让代码结构更加清晰:
package main
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Product struct {
ID int
Name string
Price float64
}
func main() {
// 创建数据库连接
dsn := "user:password@tcp(127.0.0.1:3306)/gorm?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
// 自动迁移,创建表
db.AutoMigrate(&Product{})
// 封装增删改查操作
createProduct(db, "Apple iPhone 13", 999.99)
products := readProducts(db)
updateProduct(db, 1, 1099.99)
deleteProduct(db, 1)
// 打印结果
fmt.Println(products)
}
func createProduct(db *gorm.DB, name string, price float64) {
product := Product{Name: name, Price: price}
db.Create(&product)
}
func readProducts(db *gorm.DB) []Product {
var products []Product
db.Find(&products)
return products
}
func updateProduct(db *gorm.DB, id int, price float64) {
product := Product{ID: id}
db.Model(&product).Update("Price", price)
}
func deleteProduct(db *gorm.DB, id int) {
product := Product{ID: id}
db.Delete(&product)
}
结语
通过 GORM,我们轻松实现了与数据库的连接,并掌握了增删改查的基本操作。无论是作为数据库交互的新手,还是经验丰富的开发者,GORM 都能为我们提供高效、友好的数据管理体验。