models->core.go
package models
//https://gorm.io/zh_CN/docs/connecting_to_the_database.html
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
var DB *gorm.DB
var err error
func init() {
dsn := "root:123456@tcp(192.168.0.6:3306)/gin?charset=utf8mb4&parseTime=True&loc=Local"
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
fmt.Println(err)
}
}
models->user.go
package models
type User struct {
Id int
Username string
Age int
Email string
AddTime int
}
//表示配置操作数据库的表名称
func (User) TableName() string {
return "user"
}
controllers->admin->userController.go
package admin
import (
"fmt"
"gindemo14/models"
"github.com/gin-gonic/gin"
)
type UserController struct {
BaseController
}
func (con UserController) Index(c *gin.Context) {
//查询数据库
// userList := []models.User{}
// models.DB.Find(&userList)
// c.JSON(200, gin.H{
// "result": userList,
// })
//查询age大于20的用户
userList := []models.User{}
models.DB.Where("age>20").Find(&userList)
c.JSON(200, gin.H{
"result": userList,
})
}
func (con UserController) Add(c *gin.Context) {
user := models.User{
Username: "itying GORM",
Age: 22,
Email: "222@qq.con",
AddTime: int(models.GetUnix()),
}
models.DB.Create(&user)
fmt.Println(user)
c.String(200, "增加数据成功")
}
func (con UserController) Edit(c *gin.Context) {
//保存所有字段
// // 查询id等于6的数据
// user := models.User{Id: 6}
// models.DB.Find(&user)
// //更新数据
// user.Username = "哈哈"
// user.Email = "itying@qqq.com"
// user.AddTime = int(models.GetUnix())
// models.DB.Save(&user)
//更新单个列
// user := models.User{}
// models.DB.Model(&user).Where("id = ?", 6).Update("username", "哈哈哈哈哈哈")
user := models.User{}
models.DB.Where("id = ?", 6).Find(&user)
user.Username = "哈哈"
user.Email = "aaa@qqq.com"
user.AddTime = int(models.GetUnix())
models.DB.Save(&user)
c.String(200, "修改用户成功")
}
func (con UserController) Delete(c *gin.Context) {
// user := models.User{Id: 6}
// models.DB.Delete(&user)
//删除数据
user := models.User{}
models.DB.Where("username = ?", "gorm").Delete(&user)
c.String(200, "删除用户")
}
浙公网安备 33010602011771号