Heim > Backend-Entwicklung > Golang > So erstellen Sie eine Crud -App mit Golang, Gin und PostgreSQL

So erstellen Sie eine Crud -App mit Golang, Gin und PostgreSQL

Susan Sarandon
Freigeben: 2025-01-26 14:03:09
Original
321 Leute haben es durchsucht

Dieses Tutorial zeigt Ihnen, wie Sie mit Golang, dem Gin-Framework und PostgreSQL eine einfache CRUD-Anwendung (Erstellen, Lesen, Aktualisieren, Löschen) erstellen. Sie lernen, in einer PostgreSQL-Datenbank gespeicherte Daten zu verwalten.

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

Inhaltsverzeichnis

  1. Einführung
  2. Voraussetzungen
  3. Projektstruktur
  4. Projekt-Setup
  5. Datenbank- und Tabellenerstellung
  6. CRUD-Handler implementieren
  7. API-Tests
  8. Fazit

1. Einführung

Diese Anleitung verwendet Gin, ein leichtes Golang-Web-Framework, um API-Endpunkte zu erstellen. Die Anwendung interagiert über den pgx-Treiber mit einer PostgreSQL-Datenbank. Grundkenntnisse mit Golang und REST-APIs werden vorausgesetzt.

2. Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Golang (Version 1.20 oder höher)
  • PostgreSQL (beliebige Version)
  • Postman (oder ein ähnliches API-Testtool)
  • Ein Code-Editor (z. B. VS-Code)

3. Projektstruktur

Organisieren Sie Ihr Projekt wie folgt:

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

4. Projekt-Setup

  1. Erstellen Sie das Projektverzeichnis und initialisieren Sie ein Go-Modul:

    <code class="language-bash">mkdir crud-app
    cd crud-app
    go mod init github.com/yourusername/crud-app  // Replace with your GitHub username</code>
    Nach dem Login kopieren
  2. Notwendige Pakete installieren:

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

5. Datenbank- und Tabellenerstellung

  1. Erstellen Sie eine PostgreSQL-Datenbank (z. B. crud_app).

  2. Stellen Sie eine Verbindung zur Datenbank her und erstellen Sie die itemsTabelle:

    <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>
    Nach dem Login kopieren

6. Implementierung von CRUD-Handlern

6.1 Datenbankverbindung (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>
Nach dem Login kopieren

6.2 Modelldefinition (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>
Nach dem Login kopieren

6.3 CRUD-Handler (controllers/item.go): (Beispiel: Erstellen)

<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>
Nach dem Login kopieren

Implementieren Sie ähnliche Funktionen zum Lesen, Aktualisieren und Löschen von Elementen.

6.4 Routendefinitionen (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>
Nach dem Login kopieren

6.5 Hauptanwendung (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>
Nach dem Login kopieren

7. API-Tests

Führen Sie die Anwendung aus (go run main.go) und testen Sie die Endpunkte mit Postman oder einem ähnlichen Tool.

8. Fazit

Sie haben erfolgreich eine grundlegende CRUD-Anwendung erstellt. Denken Sie daran, die fehlenden CRUD-Handler-Implementierungen auszufüllen und die Datenbankverbindungszeichenfolge an Ihre Umgebung anzupassen. Diese Grundlage kann mit erweiterten Funktionen erweitert werden.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Crud -App mit Golang, Gin und PostgreSQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage