​ 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

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

原文地址:http://www.cnblogs.com/yumingkuan/p/16806265.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性