Documentation
¶
Index ¶
- func And(conditions ...any) any
- func Eq(key string, value any) any
- func Gt(key string, value any) any
- func Gte(key string, value any) any
- func Id(id any) any
- func In[T any](key string, value ...T) any
- func Like(key string, value string, mode MatchMode) any
- func Lt(key string, value any) any
- func Lte(key string, value any) any
- func Ne(key string, value any) any
- func Nin[T any](key string, value ...T) any
- func Or(conditions ...any) any
- func SetQueryBuilder(builderType BuilderType)
- func ToAnySlice[T any](data []T) []any
- type BuilderType
- type Condition
- type GormQueryBuilder
- func (b *GormQueryBuilder) And(conditions ...any) QBuilder
- func (b *GormQueryBuilder) Build() any
- func (b *GormQueryBuilder) Eq(key string, value any) QBuilder
- func (b *GormQueryBuilder) Gt(key string, value any) QBuilder
- func (b *GormQueryBuilder) Gte(key string, value any) QBuilder
- func (b *GormQueryBuilder) Id(id any) QBuilder
- func (b *GormQueryBuilder) In(key string, value ...any) QBuilder
- func (b *GormQueryBuilder) Like(key string, value string, mode MatchMode) QBuilder
- func (b *GormQueryBuilder) Lt(key string, value any) QBuilder
- func (b *GormQueryBuilder) Lte(key string, value any) QBuilder
- func (b *GormQueryBuilder) Ne(key string, value any) QBuilder
- func (b *GormQueryBuilder) Nin(key string, value ...any) QBuilder
- func (b *GormQueryBuilder) Or(conditions ...any) QBuilder
- type IBuilder
- type LogicalGroup
- type MatchMode
- type MongoQueryBuilder
- func (b *MongoQueryBuilder) And(conditions ...any) QBuilder
- func (b *MongoQueryBuilder) Build() any
- func (b *MongoQueryBuilder) Eq(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Gt(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Gte(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Id(id any) QBuilder
- func (b *MongoQueryBuilder) In(key string, value ...any) QBuilder
- func (b *MongoQueryBuilder) Like(key string, value string, mode MatchMode) QBuilder
- func (b *MongoQueryBuilder) Lt(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Lte(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Ne(key string, value any) QBuilder
- func (b *MongoQueryBuilder) Nin(key string, value ...any) QBuilder
- func (b *MongoQueryBuilder) Or(conditions ...any) QBuilder
- type Op
- type QBuilder
- type QueryConditions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ToAnySlice ¶
Types ¶
type BuilderType ¶
type BuilderType int
BuilderType 构建器类型
const ( BuilderTypeMongo BuilderType = iota BuilderTypeGorm )
type GormQueryBuilder ¶
type GormQueryBuilder struct {
// contains filtered or unexported fields
}
GormQueryBuilder GORM 查询构建器
func NewGormQueryBuilder ¶
func NewGormQueryBuilder() *GormQueryBuilder
NewGormQueryBuilder 创建 GORM 查询构建器
func (*GormQueryBuilder) Build ¶
func (b *GormQueryBuilder) Build() any
Build 构建 GORM 查询条件,返回 clause.Expression
func (*GormQueryBuilder) Gte ¶
func (b *GormQueryBuilder) Gte(key string, value any) QBuilder
Gte 大于等于条件
func (*GormQueryBuilder) In ¶
func (b *GormQueryBuilder) In(key string, value ...any) QBuilder
In 包含条件
func (*GormQueryBuilder) Like ¶
func (b *GormQueryBuilder) Like(key string, value string, mode MatchMode) QBuilder
Like 模糊匹配条件
func (*GormQueryBuilder) Lte ¶
func (b *GormQueryBuilder) Lte(key string, value any) QBuilder
Lte 小于等于条件
func (*GormQueryBuilder) Ne ¶
func (b *GormQueryBuilder) Ne(key string, value any) QBuilder
Ne 不等于条件
type LogicalGroup ¶
LogicalGroup 逻辑组(And/Or)
type MongoQueryBuilder ¶
type MongoQueryBuilder struct {
// contains filtered or unexported fields
}
MongoQueryBuilder MongoDB 查询构建器
func NewMongoQueryBuilder ¶
func NewMongoQueryBuilder() *MongoQueryBuilder
NewMongoQueryBuilder 创建 MongoDB 查询构建器
func (*MongoQueryBuilder) Build ¶
func (b *MongoQueryBuilder) Build() any
Build 构建 MongoDB 查询条件,返回 bson.M
func (*MongoQueryBuilder) Eq ¶
func (b *MongoQueryBuilder) Eq(key string, value any) QBuilder
Eq 等于条件
func (*MongoQueryBuilder) Gt ¶
func (b *MongoQueryBuilder) Gt(key string, value any) QBuilder
Gt 大于条件
func (*MongoQueryBuilder) Gte ¶
func (b *MongoQueryBuilder) Gte(key string, value any) QBuilder
Gte 大于等于条件
func (*MongoQueryBuilder) In ¶
func (b *MongoQueryBuilder) In(key string, value ...any) QBuilder
In 包含条件
func (*MongoQueryBuilder) Like ¶
func (b *MongoQueryBuilder) Like(key string, value string, mode MatchMode) QBuilder
Like 模糊匹配条件
func (*MongoQueryBuilder) Lt ¶
func (b *MongoQueryBuilder) Lt(key string, value any) QBuilder
Lt 小于条件
func (*MongoQueryBuilder) Lte ¶
func (b *MongoQueryBuilder) Lte(key string, value any) QBuilder
Lte 小于等于条件
func (*MongoQueryBuilder) Ne ¶
func (b *MongoQueryBuilder) Ne(key string, value any) QBuilder
Ne 不等于条件
type QBuilder ¶
type QBuilder interface {
IBuilder
Id(id any) QBuilder
Eq(key string, value any) QBuilder
Ne(key string, value any) QBuilder
Gt(key string, value any) QBuilder
Gte(key string, value any) QBuilder
Lt(key string, value any) QBuilder
Lte(key string, value any) QBuilder
In(key string, value ...any) QBuilder
Nin(key string, value ...any) QBuilder
Like(key string, value string, mode MatchMode) QBuilder
And(conditions ...any) QBuilder
Or(conditions ...any) QBuilder
}
QBuilder 查询构建器接口
type QueryConditions ¶
type QueryConditions struct {
// Fields 存储字段条件,key 为字段名,value 为该字段的所有条件
Fields map[string][]Condition
// LogicalGroups 存储逻辑组
LogicalGroups []LogicalGroup
}
QueryConditions 查询条件集合,作为中间结构
func (*QueryConditions) AddCondition ¶
func (qc *QueryConditions) AddCondition(key string, op Op, value any)
AddCondition 添加字段条件
func (*QueryConditions) AddLogicalGroup ¶
func (qc *QueryConditions) AddLogicalGroup(groupType string, conditions []any)
AddLogicalGroup 添加逻辑组
Click to show internal directories.
Click to hide internal directories.