是一个对go 的 gorm 升级版的插件 将where条件直接绑定 struct 的tag中 目前支持
where 查询条件
field 查询的字段
default 默认值
import (
"github.com/zngue/go_helper"
)
type MemberRequest struct {
Username int `form:"username" field:"username" where:"eq" default:"-1"`
ID int `form:"id" field:"id" where:"lt" default:"0"`
Nickname string `form:"nickname" field:"nickname" where:"like" default:""`
CertificationName string `form:"certification_name" field:"certification_name" where:"like" default:""`
Usernature int `form:"usernature" field:"usernature" where:"eq" default:"-1"`
Usertype int `form:"usertype" field:"usertype" where:"eq" default:"-1"`
Status int `form:"status" field:"status" where:"eq" default:"-1"`
Stick int `form:"stick" field:"stick" where:"gt" default:"-1"`
IDArr string `form:"idArr" field:"id" where:"in" default:""`
WhereOr map[string]interface{} `form:"where_or" where:"or"`
}
func main() {
var rep MemberRequest
//自己绑定自己数据 可以接受数据 也可以自己赋值传递
///.........
//调用实例
//db gorm.DB 实例
//rep 结构传入进去 如果传入值等于默认值 不参与where条件运算
ext=&GormExt{DB:db,I:rep}
ext.Init()
}
field:数据库接查询字段名字
where:where条件
default:默认值,当传入值等于默认值的时候不参与条件筛选
form:传入值接收值
表达式 | 文字说明 | 类型支持 |
---|---|---|
eq | 等于 | string|int |
neq | 不等于 | string|int |
gt | 大于 | string|int |
egt | 大于等于 | string|int |
lt | 小于 | string|int |
elt | 小于等于 | string|int |
null | 为空 | string|int |
not | 不为空 | string|int |
like | 模糊查询 | string |
in | 条件in | string,多个用逗号分隔 |
or | 或查询 | map[string]interface{} |
```
```