L'utilisation des outils GORM ORM pour interagir avec la base de données peut être facilement réalisée à travers les étapes suivantes : installation et initialisation (1), définition du modèle (2), établissement du mappage (3), création d'enregistrements (4), lecture des enregistrements (5), mise à jour des enregistrements (6), suppression des enregistrements (7), traitement des transactions (8) et Il s'agit d'une application ORM (Object-Relational Mapping) pour Utilisez les outils Golang ORM pour interagir avec la base de données
IntroductionLes outils ORM (Object Relational Mapping) peuvent simplifier Applications Golang avec interaction entre bases de données relationnelles. Il permet aux développeurs de créer, lire, mettre à jour et supprimer facilement des enregistrements de base de données en établissant un mappage entre les objets et les tables de base de données.
GORM ORM
GORM est un outil ORM populaire dans Golang, qui fournit des fonctionnalités riches et une API intuitive. Voici comment interagir avec une base de données à l'aide de GORM :
Installation et initialisation
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) // 创建一个数据库连接 db, err := gorm.Open("mysql", "user:password@/database_name") if err != nil { // 处理错误 }
Créer une structure qui correspond à la table de la base de données :
type Product struct { ID int `gorm:"primary_key"` Name string Price float64 }
Construire le mappage
Utiliser
pour marquez le corps de la structure du modèle et établissez un mappage avec la table de la base de données :func init() { db.AutoMigrate(&Product{}) }
p := Product{ Name: "Apple iPhone 13", Price: 999.99, } db.Create(&p)
gorm.Model
Lire l'enregistrement// 读取所有记录
products := []Product{}
db.Find(&products)
// 根据主键查找记录
var p Product
db.First(&p, 1)
p.Price = 1099.99
db.Save(&p)
db.Delete(&p)
L'utilisation de transactions peut garantir le succès ou l'échec simultané de plusieurs opérations de base de données :
// 开启一个事务 tx := db.Begin() // 执行多个操作 p.Price = 1199.99 if err := db.Save(&p).Error; err != nil { // 出错时回滚事务 tx.Rollback() return err } // 提交事务 if err := tx.Commit().Error; err != nil { // 出错时回滚事务 tx.Rollback() return err }
Cas pratique
Créer une application CRUD simple (créer, lire, mettre à jour, supprimer) :
package main func main() { // 初始化数据库连接 db, _ := gorm.Open("mysql", "user:password@/database_name") // 创建一个产品结构体 type Product struct { ID int `gorm:"primary_key"` Name string Price float64 } // 迁移数据库表 db.AutoMigrate(&Product{}) // 创建一个产品 p := Product{ Name: "iPhone 14", Price: 999.99, } db.Create(&p) // 读取所有产品 products := []Product{} db.Find(&products) // 更新产品价格 p.Price = 1099.99 db.Save(&p) // 删除产品 db.Delete(&Product{}, p.ID) }
L'utilisation de GORM peut simplifier l'interaction avec la base de données , Démontre la puissance des outils Golang ORM.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!