zoukankan      html  css  js  c++  java
  • [GO] golang练习项目-gorm与mysql的增删查改操作

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

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

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

    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
    }

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    3.2.2.5 BRE运算符优先级
    随机场(Random field)
    D-Separation(D分离)-PRML-8.22-Graphical Model 五 18 by 小军
    CVPR 2013 关于图像/场景分类(classification)的文章paper list
    Introduction to One-class Support Vector Machines
    SVM学习资料
    MIT牛人解说数学体系
    牛顿法与拟牛顿法学习笔记(五)L-BFGS 算法
    牛顿法与拟牛顿法学习笔记(四)BFGS 算法
    牛顿法与拟牛顿法学习笔记(三)DFP 算法
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13555450.html
Copyright © 2011-2022 走看看