[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 password`
    Nickname nickname`
    Avator avator`
    RoleName role_name`
}
func createuser(name string,password string){
    user:=&User{
        Name:name,Password: password,Avator:avator,Nickname: nickname,}
    DB.Create(user)
}
func UpdateUser(id if password!=""{
        user.Password=password
    }
    DB.Model(&User{}).Where(id = ?,id).Update(user)
}
func FindUser(username )User{
    var user User
    DB.Where(name = ?",username).First(&user)
    return user
}
func FindUserById(id interface{})User{
    irst(& user
}
func DeleteUserById(id ){
    DB.Where( users []User
    DB.Order(id desc").Find(&users)
     users
}
func FindUserRole(query interface{},id  user User
    DB.Select(query).Where(user.id = ?join user_role on user.id=user_role.user_id").Joins(join role on user_role.role_id=role.id").First(& user
}

 

相关文章

什么是Go的接口? 接口可以说是一种类型,可以粗略的理解为他...
1、Golang指针 在介绍Golang指针隐式间接引用前,先简单说下...
1、概述 1.1 Protocol buffers定义 Protocol buffe...
判断文件是否存在,需要用到"os"包中的两个函数: os.Stat(...
1、编译环境 OS :Loongnix-Server Linux release 8.3 CPU指...
1、概述 Golang是一种强类型语言,虽然在代码中经常看到i:=1...