首页 > 后端开发 > Golang > 如何使用Golang,Gin和Postgresql构建CRUD应用程序

如何使用Golang,Gin和Postgresql构建CRUD应用程序

Susan Sarandon
发布: 2025-01-26 14:03:09
原创
439 人浏览过

本教程向您展示了如何使用Golang,Gin Framework和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。简介

本指南利用轻量级Golang Web框架Gin创建API端点。 该应用程序通过PGX驱动程序与PostgreSQL数据库进行交互。 假定对Golang和Rest API的基本熟悉。

2。先决条件

开始之前,请确保您有:

    golang(版本1.20或更高版本)
  • > postgresql(任何版本)
  • > Postman(或类似的API测试工具)
  • >代码编辑器(例如,VS代码)

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模块:

    mkdir crud-app
    cd crud-app
    go mod init github.com/yourusername/crud-app  // Replace with your GitHub username
    登录后复制
  2. 安装必要的软件包:

    go get github.com/gin-gonic/gin
    go get github.com/jackc/pgx/v5
    登录后复制

5。数据库和表创建

  1. 创建一个postgresql数据库(例如,

    )。crud_app>

  2. 连接到数据库,并创建

    >表:> items

    CREATE DATABASE crud_app;
    \c crud_app
    CREATE TABLE items (
        id SERIAL PRIMARY KEY,
        name TEXT NOT NULL,
        description TEXT,
        price NUMERIC(10, 2)
    );
    登录后复制
    6。实施CRUD处理程序

6.1数据库连接(config/database.go):

>

6.2模型定义(型号/item.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) ...
}
登录后复制

6.3 crud处理程序(控制器/item.go):(示例:create)

>
package models

type Item struct {
    ID          int     `json:"id"`
    Name        string  `json:"name"`
    Description string  `json:"description"`
    Price       float64 `json:"price"`
}
登录后复制

实现类似的功能,以读取,更新和删除项目。> 6.4路由定义(路由/路由。

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) ...
}
登录后复制

6.5主应用程序(main.go):

>

7。 API测试

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) ...
}
登录后复制

运行应用程序(),并使用邮递员或类似工具测试端点。

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")
}
登录后复制
8。结论

>您已经成功创建了一个基本的CRUD应用程序。请记住要填写缺失的CRUD处理程序实现,并将数据库连接字符串调整到您的环境中。 该基础可以通过更高级的功能扩展。

>

以上是如何使用Golang,Gin和Postgresql构建CRUD应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板