本教學向您展示如何使用 Golang、Gin 框架和 PostgreSQL 建立一個簡單的 CRUD(建立、讀取、更新、刪除)應用程式。 您將學習管理儲存在 PostgreSQL 資料庫中的資料。
目錄
1。簡介
本指南利用 Gin(一個輕量級 Golang Web 框架)來建立 API 端點。 該應用程式透過 pgx 驅動程式與 PostgreSQL 資料庫互動。 假設您基本上熟悉 Golang 和 REST API。
2。先決條件
開始之前,請確保您擁有:
3。專案結構
如下整理您的專案:
<code>crud-app/ ├── main.go ├── config/ │ └── database.go ├── controllers/ │ └── item.go ├── models/ │ └── item.go ├── routes/ │ └── routes.go ├── go.mod └── go.sum </code>
4。項目設定
建立專案目錄並初始化Go模組:
<code class="language-bash">mkdir crud-app cd crud-app go mod init github.com/yourusername/crud-app // Replace with your GitHub username</code>
安裝必要的軟體包:
<code class="language-bash">go get github.com/gin-gonic/gin go get github.com/jackc/pgx/v5</code>
5。建立資料庫和表格
建立 PostgreSQL 資料庫(例如 crud_app
)。
連接資料庫並建立items
表:
<code class="language-sql">CREATE DATABASE crud_app; \c crud_app CREATE TABLE items ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, description TEXT, price NUMERIC(10, 2) );</code>
6。實作 CRUD 處理程序
6.1 資料庫連線(config/database.go):
<code class="language-go">package config import ( "database/sql" "fmt" "log" _ "github.com/jackc/pgx/v5/stdlib" ) var DB *sql.DB func ConnectDatabase() { // ... (Connection string with your credentials) ... }</code>
6.2 模型定義 (models/item.go):
<code class="language-go">package models type Item struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` Price float64 `json:"price"` }</code>
6.3 CRUD 處理程序 (controllers/item.go): (範例:建立)
<code class="language-go">package controllers import ( "crud-app/config" "crud-app/models" "github.com/gin-gonic/gin" "net/http" ) func CreateItem(c *gin.Context) { // ... (Implementation for creating a new item) ... }</code>
實作類似的功能來讀取、更新和刪除項目。
6.4 路線定義 (routes/routes.go):
<code class="language-go">package routes import ( "crud-app/controllers" "github.com/gin-gonic/gin" ) func SetupRoutes(router *gin.Engine) { router.POST("/items", controllers.CreateItem) // ... (Add routes for other CRUD operations) ... }</code>
6.5 主應用程式(main.go):
<code class="language-go">package main import ( "crud-app/config" "crud-app/routes" "github.com/gin-gonic/gin" ) func main() { config.ConnectDatabase() r := gin.Default() routes.SetupRoutes(r) r.Run(":8080") }</code>
7。 API 測試
執行應用程式 (go run main.go
) 並使用 Postman 或類似工具測試端點。
8。結論
您已經成功建立了一個基本的 CRUD 應用程式。請記住填寫缺少的 CRUD 處理程序實作並根據您的環境調整資料庫連接字串。 這個基礎可以透過更進階的功能進行擴充。
以上是如何使用 Golang、Gin 和 PostgreSQL 建立 CRUD 應用程式的詳細內容。更多資訊請關注PHP中文網其他相關文章!