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"})
}
gin+gorm 用户服务的更多相关文章
- [开源]Gin + GORM + Casbin+vue-element-admin 实现权限管理系统(golang)
简析 基于 Gin + GORM + Casbin + vue-element-admin 实现的权限管理系统. 基于Casbin 实现RBAC权限管理. 前端实现: vue-element-admi ...
- 基于Gin+Gorm框架搭建MVC模式的Go语言后端系统
文/朱季谦 环境准备:安装Gin与Gorm 本文搭建准备环境:Gin+Gorm+MySql. Gin是Go语言的一套WEB框架,在学习一种陌生语言的陌生框架,最好的方式,就是用我们熟悉的思维去学.作为 ...
- Go微服务实战 - 用户服务开发(gRPC+Protocol Buffer)
概要 用户服务基本是每个互联网产品里必备的一个服务了,因为没有用户基本是什么也干不了.所以他的重要性不言而喻.本文主要介绍下如何开发一个用户微服务,以及他的详细开发流程. 目录 Go微服务实战 - 从 ...
- 使用go, gin, gorm编写一个简单的curd的api接口
go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 d ...
- Casbin + Gin + Gorm 学习探索
Casbin 是一个强大的,开源的访问控制框架,权限管理机制支持多种访问控制模型: 并且支持多种编程语言: 文档地址:https://casbin.org/docs/zh-CN/overview Gi ...
- gin+gorm
在[环境变量]中添加如下[用户变量]/[系统变量]:GO111MODULE,值为on go mod init目录 在项目中新建文件main.go,并添加测试代码 package main import ...
- linux 查看信息-进程&用户&服务&程序
进程 1.查看所有进程 2.实时显示进程状态 用户 1.查看活动用户 2.查看登录日志 3.查看系统所有用户 4.查看系统所有组 5.查看当前用户的计划任务 服务 1.列出所有系统服务 2.列出所有启 ...
- 微信绑定用户服务端代码-根据code获取openId然后绑定用户
目录结构: isa.qa.core.weixin.message.resp包和isa.qa.core.weixin.util包中为微信绑定的工具类,就不一一贴出代码,详见附件,下载地址: http:/ ...
- go web开发(gin&gorm) 之DB配置及DAO的基本使用
转载请注明出处: https://www.cnblogs.com/funnyzpc/p/9501376.html ``` 我先闲扯下,前天(也就是2018年11月16号)的某个时候,忽然有人在QQ ...
随机推荐
- 如何编写一个简单的Linux驱动(二)——设备操作集file_operations
前期知识 如何编写一个简单的Linux驱动(一)--驱动的基本框架 前言 在上一篇文章中,我们学习了驱动的基本框架.这一章,我们会在上一章代码的基础上,继续对驱动的框架进行完善.要下载上一篇文章的全部 ...
- 安装python3,配置pycharm
1.下载最新版python3 首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downlo ...
- oracle之二实例与数据库
实例与数据库 1.Oracle 网络架构及应用环境 看PPT,Oracle结构的基本单元.术语 2.Oracle 体系结构 1)oracle server :database + instanc ...
- LG P2389 电脑班的裁员
Description ZZY有独特的裁员技巧:每个同学都有一个考试得分$a_i(-1000 \leq a_i \leq 1000)$,在$n$个同学$(n \leq 500)$中选出不大于$k$段$ ...
- CTF-BugKu-WEB-1-20
2020.09.17 全面复习web,给自己定个目标,后天之前结束BugKu-Web,开始逆向. 经验教训 php弱等于用于绕过==,弱等于之前会把等号两边转化为同一类型变量: 全局变量全局变量全局变 ...
- 记一次由selinux引起的使用cat查看文件报错Permission denied的问题排查
事件起因:如下 1.在服务器上root用户,定期会生成一个文件,到/tmp目录,如:qq_5201351.txt,给other加上了r读取 2.zabbix端会周期性取这台服务器/tmp/qq_520 ...
- 关于windows服务器创建一个ps1脚本的周期性定时任务
测试环境: Windows Server 2008 R2 Standard & Windows Server 2012 R2 Standard 周期运行的ps脚本:Clean_up_Secu ...
- dubbo学习(十)spring boot整合dubbo
工程搭建与配置 生产者 1.创建一个生产者的spring boot工程,配置好依赖,并把接口实现类文件夹复制到新的工程里 2.pom.xml配置dubbo的相关依赖 <!-- Dubbo Spr ...
- phpcms v9.6.0任意文件上传漏洞
距离上一次写博客已经过去很长一段时间了,最近也一直在学习,只是并没有分享出来 越来越发现会的东西真的太少了,继续努力吧. 中午的时候遇到了一个站点,看到群里好多人都在搞,自己就也去试了试,拿下来后发 ...
- iOS14 debug安装的带有flutter应用从桌面图标重新启动时闪退
刚刚升级遇到的问题,希望能够帮助到遇到相同问题的人. 用xcode12连接iOS设备调试安装应用 拔掉数据线 从桌面图标点击进入App必闪退 后来发现是flutter的原因,目前有下面两种个解决方案: ...