gorm是一个Go的orm框架,之前学到的都是用结构体去查,今天经过测试,发现可以直接用基础数据类型或者map来接查询的结果;
我现在这里有一个结构体,学生:
type Student struct {
gorm.Model
Name string
Age uint
}
然后插入三条数据,开始我们的测试
查询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)
使用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)
第一个查询,查出第一行然后将信息写入到map中
第二个查询,查出所有行,放入一个map切片中,一行一个map
第三个查询,指定了查哪些内容
原文地址:http://www.cnblogs.com/yumingkuan/p/16806265.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性