赞
踩
1.接口
- //POST请求 db操作,新增数据
- r.POST("/add", controller.SaveUser)
2.接收前端传的参数并解析成结构化数据(类似java的 json转为实体类属性)
- package controller
-
- import (
- "gin/dao"
- "github.com/gin-gonic/gin"
- )
-
- type User struct {
- UserName string
- NickName string
- }
-
- func SaveUser(context *gin.Context) {
- user := &User{}
- context.BindJSON(&user)
-
- //执行保存
- saveUser := dao.SaveUser((*dao.User)(user))
- if saveUser == 1 {
- ReturnSucess(context, 200, "保存成功", user, 1)
- } else if saveUser == 0 {
- ReturnError(context, 500, "保存失败,请联系管理员处理", user, 1)
- }
- }
3.使用gorm(orm对象关系映射)持久化数据到数据库中
- package dao
-
- import (
- "gin/config"
- "log"
- )
-
-
- type User struct {
- //主键
- //ID int32
- //通过在字段后面的标签来定义golang字段和表字段的关系
- //例如:`gorm:"column:username"` 标签说明含义是:Mysql表的列名(字段名)为 username
- UserName string `gorm:"column:user_name"`
- NickName string `gorm:"column:nick_name"`
- //CreateTime int64 `gorm:"column:create_time"` //创建时间,时间戳
- }
-
-
-
- // 映射表名
- func (user User) TableName() string {
- return "sys_user"
- }
-
- func SaveUser(user *User)( num int) {
- //新增
- err := config.DB.Create(user).Error
- if err != nil {
- log.Println("新增用户失败,原因:", err)
- num = 0;
- return 0;
- }else {
- log.Print("新增用户成功")
- return 1;
- }
- }
-
- func GetUserById(id string) User {
- var user User
- err := config.DB.Where("id = ?", id).First(&user).Error
- if err != nil {
- log.Println("查询用户失败,原因:", err)
- }
- return user
- }
-
-
4.接口 json传参
- {
- "UserName" : "111",
- "NickName": "王大锤昵称"
- }
5.测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。