echo使用gorm操作curd.
Gorm 一个神奇的,对开发人员友好的 Golang ORM 库
参考文档:https://learnku.com/docs/gorm/v2/create/9732
一、安装配置数据库
go get -u gorm.io/gorm go get -u gorm.io/driver/mysql
dsn := "root:root@tcp(127.0.0.1:3306)/mmlang?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
二、表模型
type ForumModel struct { Id uint `gorm:"primaryKey" json:"id"` Title string `json:"title"` Userid uint `json:"userid"` Gid uint `json:"gid"` Catid uint `json:"catid"` Love_num uint `json:"love_num"` Fav_num uint `json:"fav_num"` Forward_num uint `json:"forward_num"` Keywords string `json:"keywords"` Description string `json:"description"` Status uint `json:"status"` Comment_num uint `json:"comment_num"` Imgurl string `json:"imgurl"` Grade uint `json:"grade"` Isrecommend uint `json:"isrecommend"` View_num uint `json:"view_num"` Isnew uint `json:"isnew"` Tags string `json:"tags"` Videourl string `json:"videourl"` Money float64 `json:"money"` Gold uint `json:"gold"` Createtime string `json:"createtime"` Updatetime string `json:"updatetime"` Imgsdata string `json:"imgsdata"` }
三、插入数据
postData := forumModel.ForumModel{ Title: c.FormValue("title"), Description: c.FormValue("description"), Createtime: now.Format("2006-01-02 15:04:05"), } db.Create(&postData) //自增id id = postData.Id
四、更新数据
postData:=map[string]interface{}{"Title": "hello"} db.Model(forumModel.ForumModel{}).Where("id=?", id).Updates(postData)
五、常用查询
//查询单行 db.First(&user) //查询全部 db.Find(&users) //查询单列 var ages []int64 db.Model(&users).Pluck("age", &ages) //查询条件 db.Where("id=1").Order("id DESC").Limit(10).Offset(5).Select("id","title").Find(&users)