本教程向您展示了如何使用Golang,Gin Framework和PostgreSQL构建简单的CRUD(创建,读,更新,删除)应用程序。 您将学会管理存储在PostgreSQL数据库中的数据。
表
1。简介
本指南利用轻量级Golang Web框架Gin创建API端点。 该应用程序通过PGX驱动程序与PostgreSQL数据库进行交互。 假定对Golang和Rest API的基本熟悉。
2。先决条件
开始之前,请确保您有:
3。项目结构
组织您的项目如下:
<code>crud-app/ ├── main.go ├── config/ │ └── database.go ├── controllers/ │ └── item.go ├── models/ │ └── item.go ├── routes/ │ └── routes.go ├── go.mod └── go.sum </code>
4。项目设置
<code class="language-bash">mkdir crud-app cd crud-app go mod init github.com/yourusername/crud-app // Replace with your GitHub username</code>
<code class="language-bash">go get github.com/gin-gonic/gin go get github.com/jackc/pgx/v5</code>
5。数据库和表创建
)。crud_app
>
>表: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):
>
6.2模型定义(型号/item.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.3 crud处理程序(控制器/item.go):(示例:create)
><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>
实现类似的功能,以读取,更新和删除项目。
<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.5主应用程序(main.go):
7。 API测试
<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>
运行应用程序(),并使用邮递员或类似工具测试端点。
<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>8。结论
>您已经成功创建了一个基本的CRUD应用程序。请记住要填写缺失的CRUD处理程序实现,并将数据库连接字符串调整到您的环境中。 该基础可以通过更高级的功能扩展。
>以上是如何使用Golang,Gin和Postgresql构建CRUD应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!