zoukankan      html  css  js  c++  java
  • gin+gorm 用户服务

    package main
    
    import (
    	"fmt"
    	"github.com/gin-gonic/gin"
    	"github.com/jinzhu/gorm"
    	_ "github.com/jinzhu/gorm/dialects/mysql"
    )
    
    var db *gorm.DB
    var err error
    
    type User struct {
    	ID int `json:id`
    	Name string `json:"name"`
    	Age int `json:"age"`
    	Sex int `json:"sex"`
    }
    
    func main()  {
    
    	db,_ = gorm.Open("mysql","root:root@tcp(192.168.40.10:3306)/wang?charset=utf8&parseTime=True&loc=Local")
    	
    	if err != nil{
    		fmt.Println(err)
    		return
    	} else {
    		fmt.Println("connect success")
    	}
    	defer db.Close()
    
    	db.AutoMigrate(&User{})
    
    	r := gin.Default()
    
    	// 用户管理
    	r.GET("/",getUserList)
    	r.GET("/user/:id",getUserInfo)
    	r.GET("/users",getUserList)
    	r.POST("/user",addUser)
    	r.PUT("/user/:id",editUser)
    	r.DELETE("/user/:id",deleteUser)
    
    	r.Run(":8080")
    }
    
    // 用户信息
    func getUserInfo(c *gin.Context)  {
    	var user User
    	id := c.Params.ByName("id")
    	if err := db.Where("id = ?",id).First(&user).Error; err != nil{
    		c.AbortWithStatus(404)
    		fmt.Println(err)
    	} else {
    		c.JSON(200,user)
    	}
    }
    
    // 用户列表
    func getUserList(c *gin.Context)  {
    	var users []User
    	if err := db.Find(&users).Error;err!=nil{
    		c.AbortWithStatus(404)
    		fmt.Println(err)
    	} else {
    		c.JSON(200,users)
    	}
    
    }
    // 用户新增
    func addUser(c *gin.Context)  {
    	var user User
    	c.BindJSON(&user)
    	db.Create(&user)
    	c.JSON(200,user)
    }
    
    // 用户编辑
    func editUser(c *gin.Context)  {
    	var user User
    	id := c.Params.ByName("id")
    	if err := db.Where("id = ?",id).First(&user).Error;err !=nil{
    		c.AbortWithStatus(404)
    		fmt.Println(err)
    	}
    	c.BindJSON(&user)
    	db.Save(&user)
    	c.JSON(200,user)
    }
    // 用户删除
    func deleteUser(c *gin.Context)  {
    	var user User
    	id := c.Params.ByName("id")
    	d := db.Where("id  = ?",id).Delete(&user)
    	fmt.Println(d)
    	c.JSON(200,gin.H{"id #" + id: "deleted"})
    }
    

      

  • 相关阅读:
    【C++】几个简单课本例题
    【汇编】AX内容依次倒排序
    【汇编】课本第三章例题
    【汇编】补码的理解+标志寄存器的相关探索
    【记录】台式机的组装
    【记录】.bin文件 到 .vdi文件的转换教程
    【汇编】1.汇编环境的搭建:DOSBox的安装
    docker的常用命令,以及postgressql的启动
    Docker中容器的备份、恢复和迁移
    C# 常见面试问题汇总
  • 原文地址:https://www.cnblogs.com/php-linux/p/13074210.html
Copyright © 2011-2022 走看看