前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[GO] golang练习项目-gorm与mysql的增删查改操作

[GO] golang练习项目-gorm与mysql的增删查改操作

作者头像
唯一Chat
发布2020-08-26 10:04:16
1.1K0
发布2020-08-26 10:04:16
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

下面代码放在models包下的users.go中

表结构和struct字段是一致的,把表字段的下划线变成首字母大写的驼峰命名

创建,查找,删除,更新用户,见下面的具体方法

代码语言:javascript
复制
package models

import (
    _ "github.com/jinzhu/gorm/dialects/mysql"
)
type User struct {
    Model
    Name string `json:"name"`
    Password string `json:"password"`
    Nickname string `json:"nickname"`
    Avator string `json:"avator"`
    RoleName string `json:"role_name"`
}
func CreateUser(name string,password string,avator string,nickname string){
    user:=&User{
        Name:name,
        Password: password,
        Avator:avator,
        Nickname: nickname,
    }
    DB.Create(user)
}
func UpdateUser(id string,name string,password string,avator string,nickname string){
    user:=&User{
        Name:name,
        Avator:avator,
        Nickname: nickname,
    }
    if password!=""{
        user.Password=password
    }
    DB.Model(&User{}).Where("id = ?",id).Update(user)
}
func FindUser(username string)User{
    var user User
    DB.Where("name = ?", username).First(&user)
    return user
}
func FindUserById(id interface{})User{
    var user User
    DB.Where("id = ?", id).First(&user)
    return user
}
func DeleteUserById(id string){
    DB.Where("id = ?",id).Delete(User{})
}
func FindUsers()[]User{
    var users []User
    DB.Order("id desc").Find(&users)
    return users
}
func FindUserRole(query interface{},id interface{})User{
    var user User
    DB.Select(query).Where("user.id = ?", id).Joins("join user_role on user.id=user_role.user_id").Joins("join role on user_role.role_id=role.id").First(&user)
    return user
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档