package controllers
import (
"BeegoStudy/models"
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
)
type QueryTableTest struct {
beego.Controller
}
func (qt *QueryTableTest) Get() {
//QueryTable接口的使用
o := orm.NewOrm()
qs := o.QueryTable(new(models.Users))
user := models.Users{}
//1.查询所有数据取第一条
qs.One(&user)
fmt.Printf("user: %v\n", user)
//2.查询所有数据
var users []models.Users
qs.All(users)
fmt.Printf("users: %v\n", users)
//3.过滤查询
qs.Filter("age__gt", 18).All(users)
fmt.Printf("user: %v\n", user)
//4.排除查询
qs.Exclude("name", "张三").All(users)
//6.limit和offset查询
qs.Limit(5).Offset(10).All(users) //从查询到的数据数据中偏移10条,查询5条
//7.分组查询(注意:分组查询只返回每个分组的第一条数据)
qs.GroupBy("age").All(users)
fmt.Printf("users: %v\n", users)
//8.orderBy排序(默认升序)
qs.OrderBy("age").All(users)
//降序
qs.OrderBy("-age").All(users)
//9.去重查询[默认是全部字段不重复]
qs.Distinct().All(users)
//指定字段不重复
qs.Distinct().All(users, "age", "address")
//10.统计数据条数
total, err := qs.Count()
if err != nil {
fmt.Printf("total: %v\n", total)
}
//11.判断指定条件数据是否存在
isExist := qs.Filter("name", "张三").Exist()
fmt.Printf("isExist: %v\n", isExist)
}
Beego查询数据
最新推荐文章于 2022-05-26 19:55:32 发布