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, "删除用户")
}

  

posted on 2022-10-03 18:28  KOA2后端  阅读(42)  评论(0)    收藏  举报