Rumah >pembangunan bahagian belakang >Golang >Cara Membina Aplikasi CRUD dengan Golang, Gin, dan PostgreSQL

Cara Membina Aplikasi CRUD dengan Golang, Gin, dan PostgreSQL

Susan Sarandon
Susan Sarandonasal
2025-01-26 14:03:09366semak imbas

Tutorial ini menunjukkan kepada anda cara membina aplikasi CRUD (Buat, Baca, Kemas Kini, Padam) mudah menggunakan Golang, rangka kerja Gin dan PostgreSQL. Anda akan belajar mengurus data yang disimpan dalam pangkalan data PostgreSQL.

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

Jadual Kandungan

  1. Pengenalan
  2. Prasyarat
  3. Struktur Projek
  4. Persediaan Projek
  5. Pembuatan Pangkalan Data dan Jadual
  6. Melaksanakan Pengendali CRUD
  7. Ujian API
  8. Kesimpulan

1. Pengenalan

Panduan ini menggunakan Gin, rangka kerja web Golang yang ringan, untuk mencipta titik akhir API. Aplikasi ini berinteraksi dengan pangkalan data PostgreSQL melalui pemacu pgx. Kebiasaan asas dengan API Golang dan REST diandaikan.

2. Prasyarat

Sebelum bermula, pastikan anda mempunyai:

  • Golang (versi 1.20 atau lebih baru)
  • PostgreSQL (sebarang versi)
  • Posmen (atau alat ujian API yang serupa)
  • Penyunting kod (cth., Kod VS)

3. Struktur Projek

Atur projek anda seperti berikut:

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

4. Persediaan Projek

  1. Buat direktori projek dan mulakan modul 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. Pasang pakej yang diperlukan:

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

5. Pangkalan Data dan Penciptaan Jadual

  1. Buat pangkalan data PostgreSQL (cth., crud_app).

  2. Sambung ke pangkalan data dan buat jadual 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. Melaksanakan Pengendali CRUD

6.1 Sambungan Pangkalan Data (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 Definisi Model (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 Pengendali CRUD (pengawal/item.go): (Contoh: Cipta)

<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>

Laksanakan fungsi yang serupa untuk membaca, mengemas kini dan memadam item.

6.4 Takrif Laluan (laluan/laluan.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 Aplikasi Utama (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. Ujian API

Jalankan aplikasi (go run main.go) dan uji titik akhir menggunakan Posmen atau alat yang serupa.

8. Kesimpulan

Anda telah berjaya mencipta aplikasi CRUD asas. Ingat untuk mengisi pelaksanaan pengendali CRUD yang hilang dan menyesuaikan rentetan sambungan pangkalan data kepada persekitaran anda. Asas ini boleh dikembangkan dengan ciri yang lebih canggih.

Atas ialah kandungan terperinci Cara Membina Aplikasi CRUD dengan Golang, Gin, dan PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn