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
Susan SarandonOriginal
2025-01-26 14:03:09366Durchsuche

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>

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>
  2. Notwendige Pakete installieren:

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

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>

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>

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>

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>

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>

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>

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!

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