版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010986776/article/details/84142249
isnull:判断某个字段是否为null
func (this *OperatorsController) GetIsNull() {
user := models.User{}
var users []*models.User
orm := orm.NewOrm()//创建orm
qs := orm.QueryTable(user)//创建句柄
n, err := qs.Filter("name__isnull", false).All(&users)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查询成功!")
}
in:和sql中得in含义相同,通常和Filter结合使用
func (this *OperatorsController) GetIn() {
user := models.User{}
var users []*models.User
//创建orm
orm := orm.NewOrm()
//创建句柄
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE id IN(2, 5, 6);
/*buffer := []int{ 13, 14, 15, 16}
n, err := qs.Filter("id__in", buffer).All(&users)*/
n, err := qs.Filter("id__in", 13, 14, 15, 16).All(&users)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查询成功!")
}
istartswith:判断某个字段是否以指定内容开始
func (this *OperatorsController) GetStartswith() {
user := models.User{}
var users []*models.User
//创建orm
orm := orm.NewOrm()
//创建句柄
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE NAME LIKE '杜%'
n, err := qs.Filter("name__startswith", "B").All(&users)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查询成功!")
}
gt:大于,通常和Filter结合使用
func (this *OperatorsController) GetGt() {
user := models.User{}
var users []*models.User
//创建orm
orm := orm.NewOrm()
//创建句柄
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE id > 2;
n, err := qs.Filter("id__gt", 14).All(&users)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查询成功!")
}
contains:判断某个字段是否 包含指定字段
func (this *OperatorsController) GetContains() {
user := models.User{}
//创建用户指针切片,用于存储查询结果
var users []*models.User
//创建orm
orm := orm.NewOrm()
//创建句柄
qs := orm.QueryTable(user)
//SELECT * FROM USER WHERE NAME LIKE '%紫%';
n, err := qs.Filter("name__contains", "o").All(&users)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("n = ", n)
for _, u := range users {
fmt.Println("u = ", u)
}
this.Ctx.WriteString("查询成功!")
}
exact:对某个条件取反
func (this *OperatorsController) GetExact() {
user := models.User{}
//创建orm
orm := orm.NewOrm()
//创建句柄
qs := orm.QueryTable("user")
//SELECT * FROM USER WHERE id = 7;
//在user表中查询id等于12的用户
err := qs.Filter("id__exact", 12).One(&user)
if err != nil {
this.Ctx.WriteString("查询失败!")
return
}
fmt.Println("user = ", user)
this.Ctx.WriteString("查询成功!")
}
学院Go语言视频主页
https://edu.csdn.net/lecturer/1928
清华团队带你实战区块链开发
扫码获取海量视频及源码 QQ群:721929980