Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.5MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
查询多条数据使用Find方法,Find方法的第一个参数为slice的指针或Map指针,即为查询后返回的结果,第二个参数可选,为查询的条件struct的指针。
1) 传入Slice用于返回数据
everyone := make([]Userinfo, 0) err := engine.Find(&everyone) pEveryOne := make([]*Userinfo, 0) err := engine.Find(&pEveryOne)
2) 传入Map用户返回数据,map必须为map[int64]Userinfo的形式,map的key为id,因此对于复合主键无法使用这种方式。
users := make(map[int64]Userinfo) err := engine.Find(&users) pUsers := make(map[int64]*Userinfo) err := engine.Find(&pUsers)
3) 也可以加入各种条件
users := make([]Userinfo, 0) err := engine.Where("age > ? or name = ?", 30, "xlw").Limit(20, 10).Find(&users)
4) 如果只选择单个字段,也可使用非结构体的Slice
var ints []int64 err := engine.Table("user").Cols("id").Find(&ints)
Join(string,interface{},string)第一个参数为连接类型,当前支持INNER, LEFT OUTER, CROSS中的一个值,第二个参数为string类型的表名,表对应的结构体指针或者为两个 ...