当前位置:   article > 正文

golang使用gorm操作mysql2_gorm mysql.client 复用

gorm mysql.client 复用

1.接口

  1. //POST请求 db操作,新增数据
  2. r.POST("/add", controller.SaveUser)

2.接收前端传的参数并解析成结构化数据(类似java的  json转为实体类属性)

  1. package controller
  2. import (
  3. "gin/dao"
  4. "github.com/gin-gonic/gin"
  5. )
  6. type User struct {
  7. UserName string
  8. NickName string
  9. }
  10. func SaveUser(context *gin.Context) {
  11. user := &User{}
  12. context.BindJSON(&user)
  13. //执行保存
  14. saveUser := dao.SaveUser((*dao.User)(user))
  15. if saveUser == 1 {
  16. ReturnSucess(context, 200, "保存成功", user, 1)
  17. } else if saveUser == 0 {
  18. ReturnError(context, 500, "保存失败,请联系管理员处理", user, 1)
  19. }
  20. }

3.使用gorm(orm对象关系映射)持久化数据到数据库中

  1. package dao
  2. import (
  3. "gin/config"
  4. "log"
  5. )
  6. type User struct {
  7. //主键
  8. //ID int32
  9. //通过在字段后面的标签来定义golang字段和表字段的关系
  10. //例如:`gorm:"column:username"` 标签说明含义是:Mysql表的列名(字段名)为 username
  11. UserName string `gorm:"column:user_name"`
  12. NickName string `gorm:"column:nick_name"`
  13. //CreateTime int64 `gorm:"column:create_time"` //创建时间,时间戳
  14. }
  15. // 映射表名
  16. func (user User) TableName() string {
  17. return "sys_user"
  18. }
  19. func SaveUser(user *User)( num int) {
  20. //新增
  21. err := config.DB.Create(user).Error
  22. if err != nil {
  23. log.Println("新增用户失败,原因:", err)
  24. num = 0;
  25. return 0;
  26. }else {
  27. log.Print("新增用户成功")
  28. return 1;
  29. }
  30. }
  31. func GetUserById(id string) User {
  32. var user User
  33. err := config.DB.Where("id = ?", id).First(&user).Error
  34. if err != nil {
  35. log.Println("查询用户失败,原因:", err)
  36. }
  37. return user
  38. }

4.接口 json传参 

  1. {
  2. "UserName" : "111",
  3. "NickName": "王大锤昵称"
  4. }

5.测试

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号