首頁 > 後端開發 > Golang > 如何使用 Golang ORM 工具與資料庫互動?

如何使用 Golang ORM 工具與資料庫互動?

WBOY
發布: 2024-06-01 14:16:56
原創
1041 人瀏覽過

使用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。

如何使用 Golang ORM 工具与数据库交互?

簡介

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板