gorm查询结果到基本类型、map

​ gorm是一个Go的orm框架,之前学到的都是用结构体去查,今天经过测试,发现可以直接用基础数据类型或者map来接查询的结果;

我现在这里有一个结构体,学生:

type Student struct {
	gorm.Model
	Name string
	Age uint
}

然后插入三条数据,开始我们的测试

image-20221019143252450

查询name和age

	var name string
	var age uint
	var names []string
	var ages []uint
	db.Model(Student{}).Select("name").First(&name)
	db.Model(Student{}).Select("age").First(&age)
	db.Model(Student{}).Select("name").Find(&names)
	db.Model(Student{}).Select("age").Find(&ages)
	fmt.Println(name,age)
	fmt.Println(names)
	fmt.Println(ages)

image-20221019143700491

使用map查询

Gorm文档中提到允许扫描结果至map[string]interface{}或[]map[string]interface{}

我们通过代码试一下

	var res1 map[string]interface{}
	var res2 []map[string]interface{}
	var res3 []map[string]interface{}
	db.Model(Student{}).First(&res1)
	db.Model(Student{}).Find(&res2)
	db.Model(Student{}).Select("name","age").Find(&res3)
	fmt.Println(res1)	
	fmt.Println(res2)	
	fmt.Println(res3)

image-20221019144920104

第一个查询,查出第一行然后将信息写入到map中

第二个查询,查出所有行,放入一个map切片中,一行一个map

第三个查询,指定了查哪些内容

posted @ 2022-10-19 14:54  博客是个啥?  阅读(2734)  评论(0编辑  收藏  举报