使用GORM ORM 工具與資料庫交互,可透過以下步驟輕鬆實現:安裝和初始化(1)、定義模型(2)、建立映射(3)、建立記錄(4)、讀取記錄(5)、更新記錄(6)、刪除記錄(7)、事務處理(8)並ارائه یک خلاصه از مقاله با توجه به محدودیت توجه به محدودیت 160 ة 160 ةتادتاتاتات 160 ةتادتاتات 160 ة 160 月ین حال، مقاله اصلی درباره چگونگی استفاده از ORM (Object-Relational Mapping) با نام GORM است که کار با پایگاه داده های رابطه ای را در Go#سسابطه ای را در Go#سسابطه ای را در Go#سسابد”#Ocobن#Oh鈴#o#Shiboo。
簡介ORM(物件關係映射)工具可以簡化Golang 應用程式與關聯式資料庫之間的互動。它透過在物件和資料庫表之間建立映射,使開發人員可以方便地建立、讀取、更新和刪除資料庫記錄。
GORM ORM
GORM 是 Golang 中一個流行的 ORM 工具,它提供了豐富的功能和直覺的 API。以下是如何使用GORM 與資料庫互動:
安裝與初始化
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) // 创建一个数据库连接 db, err := gorm.Open("mysql", "user:password@/database_name") if err != nil { // 处理错误 }
##建立一個與資料庫表相對應的結構體:
type Product struct { ID int `gorm:"primary_key"` Name string Price float64 }
建立映射
使用gorm.Model
標記模型結構體,並與資料庫表建立映射:func init() { db.AutoMigrate(&Product{}) }
p := Product{ Name: "Apple iPhone 13", Price: 999.99, } db.Create(&p)
讀取記錄// 读取所有记录 products := []Product{} db.Find(&products) // 根据主键查找记录 var p Product db.First(&p, 1)
p.Price = 1099.99 db.Save(&p)
刪除記錄
db.Delete(&p)
交易處理
#使用交易可以確保在多個資料庫操作同時成功或失敗:// 开启一个事务
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
}
建立一個簡單的CRUD(建立、讀取、更新、刪除)應用程式:
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) }
使用GORM 可以簡化與資料庫的交互,展現出Golang ORM 工具的強大功能。
以上是如何使用 Golang ORM 工具與資料庫互動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!