首頁 > 後端開發 > Golang > 如何使用 Golang、Gin 和 PostgreSQL 建立 CRUD 應用程式

如何使用 Golang、Gin 和 PostgreSQL 建立 CRUD 應用程式

Susan Sarandon
發布: 2025-01-26 14:03:09
原創
321 人瀏覽過

本教學向您展示如何使用 Golang、Gin 框架和 PostgreSQL 建立一個簡單的 CRUD(建立、讀取、更新、刪除)應用程式。 您將學習管理儲存在 PostgreSQL 資料庫中的資料。

How to Build a CRUD App with Golang, Gin, and PostgreSQL

目錄

  1. 簡介
  2. 先決條件
  3. 專案結構
  4. 項目設定
  5. 資料庫與表格建立
  6. 實作 CRUD 處理程序
  7. API 檢定
  8. 結論

1。簡介

本指南利用 Gin(一個輕量級 Golang Web 框架)來建立 API 端點。 該應用程式透過 pgx 驅動程式與 PostgreSQL 資料庫互動。 假設您基本上熟悉 Golang 和 REST API。

2。先決條件

開始之前,請確保您擁有:

  • Golang(1.20 或更高版本)
  • PostgreSQL(任何版本)
  • Postman(或類似的 API 測試工具)
  • 程式碼編輯器(例如 VS Code)

3。專案結構

如下整理您的專案:

<code>crud-app/
├── main.go            
├── config/
│   └── database.go    
├── controllers/
│   └── item.go        
├── models/
│   └── item.go        
├── routes/
│   └── routes.go      
├── go.mod             
└── go.sum             </code>
登入後複製

4。項目設定

  1. 建立專案目錄並初始化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>
    登入後複製
  2. 安裝必要的軟體包:

    <code class="language-bash">go get github.com/gin-gonic/gin
    go get github.com/jackc/pgx/v5</code>
    登入後複製

5。建立資料庫和表格

  1. 建立 PostgreSQL 資料庫(例如 crud_app)。

  2. 連接資料庫並建立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中文網其他相關文章!

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