golang gorm实现get请求查询案例测试

2022-07-15,,,,

案例

package main
import (
   _ "github.com/go-sql-driver/mysql"
   "github.com/jinzhu/gorm"
   "github.com/gin-gonic/gin"
)
//班级-学生:一对多
type class struct {
   gorm.model
   classname string
   students []student   //班级有多个学生
}
//学生-学生卡:一对一
type student struct {
   gorm.model
   studentname   string
   classid uint  //学生属于一个班级
   idcard idcard  // 一个学生只有一个学生卡
   teachers []teacher `gorm:"many2many:student_teacher;"` //一个学生有多个老师
}
type idcard struct {
   gorm.model
   studentid uint  //一张卡只属于一个学生
   money int  //卡里余额
}
//老师-学生:多对多
type teacher struct {
   gorm.model
   teachername string
   students []student `gorm:"many2many:student_teacher;"` //老师教多个学生
}
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()
   // 测试数据
   //i := idcard{
   // money:99,
   //}
   //s := student{
   // studentname:"chary",
   // idcard : i,
   //}
   //c := class{
   // classname:"超神学院",
   // 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")
}

查询班级get请求

查询学生get请求

以上就是golang gorm实现get请求查询案例测试的详细内容,更多关于golang gorm测试get请求查询的资料请关注其它相关文章!

《golang gorm实现get请求查询案例测试.doc》

下载本文的Word格式文档,以方便收藏与打印。