在Model层通过gorm添加CRUD接口
type User struct {
gorm.Model
Username string `gorm:"type:varchar(20);not null " json:"username"`
Password string `gorm:"type:varchar(20);not null" json:"password"`
Role int `gorm:"type:int" json:"role"`
}
// 查询用户是否存在
func CheckUser(name string) (code int) {
var users User
db.Select("id").Where("username = ?",name).First(&users)
if users.ID > 0{
return errmsg.ERROR_USERNAME_USED
}
return errmsg.SUCCSE
}
// 新增用户
func CreaterUser(data *User)int{
err := db.Create(&data).Error
if err != nil{
return errmsg.ERROR
}
return errmsg.SUCCSE
}
在接口处添加接口,并配置路由
func AddUser(c *gin.Context){
var data model.User
_ = c.ShouldBindJSON(&data)
code := model.CheckUser(data.Username)
if code == errmsg.SUCCSE{
model.CreaterUser(&data)
}
c.JSON(http.StatusOK,gin.H{
"status":code,
"data":data,
"message":errmsg.GetErrMsg(code),
})
}
使用PostMan工具测试接口
从数据库工具测试数据添加成功
查询用户
// 查询用户列表
func GetUsers(pageSize int,pageNum int) []User{
var users []User
err := db.Limit(pageSize).Offset((pageNum-1)*pageSize).Find(&users).Error
if err !=nil && err != gorm.ErrRecordNotFound{
return nil
}
return users
}
本节基于GORM框架对数据库进行CRUD操作,包括对model层的操作和控制层的操作