gorm/gin框架实战

gorm/gin框架实战

项目简介

学习源视频:【最新Go Web开发教程】基于gin框架和gorm的web开发实战 (七米出品)_哔哩哔哩_bilibili

本博客为我的学习笔记。

项目目标:实现一个备忘录工具(当然不支持alert),仅仅是可以记录待办事项。

实现了:添加待办项、删除待办项、完成待办项、查询待办项

项目主页展示:

image-20240603161443744

添加、查询待办项展示:

image-20240603161731924

删除待办项展示:

image-20240603163615841

项目框架

可以看看之前同专栏的博客,这是一个很基本的框架

package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"net/http"
)

type Todo struct {
   
	ID     int    `json:"id"`
	Title  string `json:"title"`
	Status bool   `json:"status"`
}

var (
	DB *gorm.DB
)

func initMySQL() (err error) {
   
	
}

func main() {
   
	//连接数据库
	err := initMySQL()
	if err != nil {
   
		panic(err)
	}
	defer DB.Close() //关闭数据库连接
	//模型绑定
	DB.AutoMigrate(&Todo{
   })
	r := gin.Default()
	//设置静态资源文件
	r.Static("/static", "static")
	// 设置gin框架模版文件
	r.LoadHTMLGlob("templates/*")

	//设置路由
	r.GET("/", func(c *gin.Context) {
   
		c.HTML(http.StatusOK, "index.html", nil)
	})
	//设置路由组
	v1Group := r.Group("/v1")
	{
   
		//添加一个事项
		v1Group.POST("/todo", func(c *gin.Context) {
   
			
		})
		//查看一个事项
		v1Group.GET("/todo/:id", func(c *gin.Context) {
   

		})
		//查看所有事项
		v1Group.GET("/todo/", func(c *gin.Context) {
   
			
		})
		//修改一个事项
		v1Group.PUT("/todo/:id", func(c *gin.Context) {
   

		})
		//删除一个事项
		v1Group.DELETE("/todo/:id", func(c *gin.Context) {
   

		})
	}
	r.Run()
}

接口填充

数据库连接

DB, err = gorm.Open("mysql", "usr1:12345@tcp(***:3306)/db1?charset=utf8&parseTime=True&loc=Local")
if err != nil {
   
    panic(err)
}
return DB.DB().Ping()

添加一个事项

v1Group.POST("/todo", func(c *gin.Context) {
   
    //前端页面填写待办事项,点击提交,会发送请求到这
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值