golang?gorm實(shí)現(xiàn)get請求查詢案例測試
更新時(shí)間:2022年04月16日 09:07:55 作者:Jeff的技術(shù)棧
這篇文章主要為大家介紹了golang?gorm實(shí)現(xiàn)get請求查詢案例測試,
案例
package main import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" "github.com/gin-gonic/gin" ) //班級(jí)-學(xué)生:一對多 type Class struct { gorm.Model ClassName string Students []Student //班級(jí)有多個(gè)學(xué)生 } //學(xué)生-學(xué)生卡:一對一 type Student struct { gorm.Model StudentName string ClassID uint //學(xué)生屬于一個(gè)班級(jí) IDCard IDCard // 一個(gè)學(xué)生只有一個(gè)學(xué)生卡 Teachers []Teacher `gorm:"many2many:Student_Teacher;"` //一個(gè)學(xué)生有多個(gè)老師 } type IDCard struct { gorm.Model StudentID uint //一張卡只屬于一個(gè)學(xué)生 Money int //卡里余額 } //老師-學(xué)生:多對多 type Teacher struct { gorm.Model TeacherName string Students []Student `gorm:"many2many:Student_Teacher;"` //老師教多個(gè)學(xué)生 } func main() { db, _ := gorm.Open("mysql", "root:admin123@/beego_test?charset=utf8&parseTime=True&loc=Local") db.AutoMigrate(&Class{},&Student{},&IDCard{},Teacher{}) defer db.Close() // 測試數(shù)據(jù) //i := IDCard{ // Money:99, //} //s := Student{ // StudentName:"chary", // IDCard : i, //} //c := Class{ // ClassName:"超神學(xué)院", // Students: []Student{s}, //} //t := Teacher{ // TeacherName:"雅典啦老師", // Students: []Student{s}, //} // //_ = db.Create(&c).Error //_ = db.Create(&t).Error r:=gin.Default() r.POST("/student", func(c *gin.Context) { var student Student _ = c.BindJSON(&student) db.Create(&student) }) r.GET("/student/:ID", func(c *gin.Context) { id := c.Param("ID") var student Student _ = c.BindJSON(&student) db.Preload("Teachers").Preload("IDCard").First(&student,"id=?",id) c.JSON(200,gin.H{ "msg":student, }) }) r.GET("/class/:ID", func(c *gin.Context) { id := c.Param("ID") var class Class _ = c.BindJSON(&class) db.Preload("Students").Preload("Students.Teachers").First(&class,"id=?",id) c.JSON(200,gin.H{ "msg":class, }) }) _ = r.Run(":8080") }
查詢班級(jí)get請求
查詢學(xué)生get請求
以上就是golang gorm實(shí)現(xiàn)get請求查詢案例測試的詳細(xì)內(nèi)容,更多關(guān)于golang gorm測試get請求查詢的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
go mutex互斥鎖使用Lock和Unlock方法占有釋放資源
Go號(hào)稱是為了高并發(fā)而生的,在高并發(fā)場景下,勢必會(huì)涉及到對公共資源的競爭,當(dāng)對應(yīng)場景發(fā)生時(shí),我們經(jīng)常會(huì)使用 mutex 的 Lock() 和 Unlock() 方法來占有或釋放資源,雖然調(diào)用簡單,但 mutex 的內(nèi)部卻涉及挺多的,本文來好好研究一下2023-09-09使用gRPC實(shí)現(xiàn)獲取數(shù)據(jù)庫版本
這篇文章主要為大家詳細(xì)介紹了如何使用gRPC實(shí)現(xiàn)獲取數(shù)據(jù)庫版本,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12golang進(jìn)程內(nèi)存控制避免docker內(nèi)oom
這篇文章主要為大家介紹了golang進(jìn)程內(nèi)存控制避免docker內(nèi)oom示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10