Golang - Gin #4: Gorm 與 Gin 的完美結合

Golang - Gin #4: Gorm 與 Gin 的完美結合

更新於 發佈於 閱讀時間約 3 分鐘
來源: Gin Logo + 自行用 Canva 製作

來源: Gin Logo + 自行用 Canva 製作

Gorm 與 Gin 的完美結合:數據庫操作

嘿!你是否已經熟悉 Gin 和 Gorm?好的,那麼今天我要告訴你如何將它們結合起來,創建一個超酷的 Web 應用!

Gin 可以讓我們輕鬆地建立 Web 應用,而 Gorm 則是一個強大的 ORM(物件關聯對映)庫,能夠使我們的數據庫操作更加的直觀和簡單。讓我們看看如何將它們結合起來!


📚 設置Gorm

首先,你需要設置你的Gorm實例,並連接到你的數據庫。
package main

import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)

var db *gorm.DB

func init() {
var err error
dsn := "username: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 to the database")
}
}


🌐 在Gin中使用Gorm

有了Gorm的實例後,你可以在Gin的路由處理器中使用它!
type User struct {
ID uint `gorm:"primaryKey"`
Name string
Email string `gorm:"uniqueIndex"`
}

func GetUsers(c *gin.Context) {
var users []User
db.Find(&users)
c.JSON(200, users)
}


💾 CRUD操作

使用 Gorm,你可以輕鬆地實現 CRUD 操作:
  • Create: db.Create(&user)
  • Read: db.Find(&users)
  • Update: db.Model(&user).Updates(map[string]interface{}{"Name": "newName"})
  • Delete: db.Delete(&user)

把這些操作結合到你的 Gin 路由處理器中,你就有了一個功能完整的 Web 應用!


結論

Gin 和 Gorm 是 Golang 世界中的兩大巨頭,將它們結合起來可以幫助你更有效地開發 Web 應用。現在你已經知道了如何做到這一點,所以出發吧,開始你的 Golang 冒險!🚀



感謝

謝謝大家看完這篇,如果您喜歡我的文章,歡迎 小額贊助我 ^^
avatar-img
KH Huang的沙龍
36會員
194內容數
歡迎來到【代碼的詩情】:探索程式語言之美 系列,這是一場優雅的程式之旅,透過詩歌的抒發,尋找不同程式語言的美感和精髓。 在這個系列中,我們將透過文字的韻律,深入探索多種程式語言的核心概念和語法,以及它們獨特的應用和技巧。每一篇詩歌都是一個故事,每一段代碼都是一句詩句,讓代碼的旋律和詩情在其中相互交織。
留言
avatar-img
留言分享你的想法!
KH Huang的沙龍 的其他內容
🚀 在Gin中整合GraphQL和MongoDB:靈活的數據查詢 隨著Web應用的複雜度增加,開發者尋找更靈活和高效的方式來查詢和操作數據。GraphQL作為一種查詢語言,允許用戶精確地指定他們想要的數據,而MongoDB作為一個靈活的NoSQL數據庫,可以很好地支持這種查詢。結合這兩者,我
隨著微服務和分佈式系統的普及,了解應用的運行情況和性能瓶頸已成為開發者的重要挑戰。分佈式跟蹤為我們提供了跨多個服務的請求路徑的完整視圖,幫助我們定位問題和優化性能。
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。
🚀 在Gin中整合GraphQL和MongoDB:靈活的數據查詢 隨著Web應用的複雜度增加,開發者尋找更靈活和高效的方式來查詢和操作數據。GraphQL作為一種查詢語言,允許用戶精確地指定他們想要的數據,而MongoDB作為一個靈活的NoSQL數據庫,可以很好地支持這種查詢。結合這兩者,我
隨著微服務和分佈式系統的普及,了解應用的運行情況和性能瓶頸已成為開發者的重要挑戰。分佈式跟蹤為我們提供了跨多個服務的請求路徑的完整視圖,幫助我們定位問題和優化性能。
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。