package models
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
var DB *gorm.DB
var err error
func init() {
dsn := "root:12185744@tcp(127.0.0.1:3306)/gin?charset=utf8mb4&parseTime=True&loc=Local"
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
fmt.Println(err)
}
}
实际项目中定义数据库模型需注意:
func (User) TableName() string {
return "user"
}
定义user模型:
package models
type User struct {
Id int
Username string
Age int
Email string
AddTime int
}
func (User) TableName() string {
return "user"
}
package admin
import (
"fmt"
"gindemo13/models"
"net/http"
"os"
"path"
"strconv"
"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(http.StatusOK, gin.H{
"result": userList,
})
}
func (con UserController) Add(c *gin.Context) {
user := models.User{
Id: 1,
Username: "cool2",
Age: 22,
Email: "[email protected]",
AddTime: int(models.GetUnix()),
}
models.DB.Create(&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 = "[email protected]"
// user.AddTime = int(models.GetUnix())
// models.DB.Save(&user)
user := models.User{}
models.DB.Model(&user).Where("id = ?", 6).Update("username", "hhahhah")
c.String(200, "修改成功")
}
func (con UserController) Delete(c *gin.Context) {
user := models.User{}
models.DB.Where("username = ?", "32").Delete(&user)
c.String(200, "删除用户")
}