[GO] golang练习项目-gorm与mysql的增删查改操作
2023-02-18 15:36:29 时间
下面代码放在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 }
相关文章
- 浅谈Linux
- Git的简单的基本使用
- Android开发——导入github安卓项目源码
- 前端学习 linux —— 软件安装(Ubuntu)
- 前端学习 linux —— shell 编程
- 前端学习 linux —— 第一篇
- PS2022软件安装包+安装教程(mac+windows全版本都有,包括最新的2023)
- PS CC 2019软件安装教程(mac+windows全版本都有,包括最新的2023)
- 最新ps2021软件绿色版安装教程 附软件安装包(mac+windows全版本都有)
- 撤销git commit
- godot使用简介
- 嵌入式:Load/Store之单寄存器的存取指令
- 开源项目 Spartacus 的 git 提交流程规范
- 开源项目 Spartacus 的 git 分支使用规范
- C++中的引用处理
- 在CentOS8中安装gitlab
- 9个嵌入式硬件转软件小技巧
- VS code搭建 C 和 C++ 环境的完整图文教程!
- 一文读懂Go函数调用
- 举例说明嵌入式框架该如何分层