網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
golang?gorm實(shí)現(xiàn)get請(qǐng)求查詢(xún)案例測(cè)試_Golang
作者:Jeff的技術(shù)棧 ? 更新時(shí)間: 2022-06-16 編程語(yǔ)言案例
package main import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" "github.com/gin-gonic/gin" ) //班級(jí)-學(xué)生:一對(duì)多 type Class struct { gorm.Model ClassName string Students []Student //班級(jí)有多個(gè)學(xué)生 } //學(xué)生-學(xué)生卡:一對(duì)一 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é)生:多對(duì)多 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() // 測(cè)試數(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") }
查詢(xún)班級(jí)get請(qǐng)求
查詢(xún)學(xué)生get請(qǐng)求
原文鏈接:https://www.cnblogs.com/guyouyin123/p/14115591.html
相關(guān)推薦
- 2023-01-04 C++無(wú)try-catch的異常捕獲示例詳解_C 語(yǔ)言
- 2022-04-10 git本地提交到遠(yuǎn)程倉(cāng)庫(kù)報(bào)錯(cuò)error: failed to push some refs to
- 2022-12-12 flutter自定義InheritedProvider實(shí)現(xiàn)狀態(tài)管理詳解_Android
- 2022-09-25 引入DjangoRESTframework
- 2022-05-19 python中join與os.path.join()函數(shù)實(shí)例詳解_python
- 2023-07-08 前端加載報(bào)錯(cuò)Cannot assign to read only property ‘exports
- 2022-10-11 oracle 12c和plsql的詳細(xì)安裝和配置過(guò)程(超級(jí)詳細(xì),小白也能懂)
- 2022-02-12 安卓給文件賦777讀寫(xiě)權(quán)限
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支