Documentation
¶
Index ¶
- Variables
- type DeleteQuery
- func (w DeleteQuery) And(querys ...Q) Q
- func (q *DeleteQuery) Build(builder clause.Builder)
- func (w DeleteQuery) Eq(column string, value any) Q
- func (w DeleteQuery) Gt(column string, value any) Q
- func (w DeleteQuery) Gte(column string, value any) Q
- func (w DeleteQuery) In(column string, values ...any) Q
- func (w DeleteQuery) Like(column string, value any) Q
- func (w DeleteQuery) Lt(column string, value any) Q
- func (w DeleteQuery) Lte(column string, value any) Q
- func (w DeleteQuery) Neq(column string, value any) Q
- func (w DeleteQuery) Not(query Q) Q
- func (w DeleteQuery) NotWhere(field any, args ...any) Qdeprecated
- func (w DeleteQuery) Or(querys ...Q) Q
- func (w DeleteQuery) OrWhere(field any, args ...any) Qdeprecated
- func (w DeleteQuery) Where(field any, args ...any) Qdeprecated
- func (w DeleteQuery) WhereExpr() clause.Where
- type InsertQuery
- type Pagination
- type Query
- func And(querys ...*Query) *Query
- func Asc(column string) *Query
- func Desc(column string) *Query
- func Eq(column string, value any) *Query
- func Gt(column string, value any) *Query
- func Gte(column string, value any) *Query
- func In(column string, values ...any) *Query
- func Like(column string, value any) *Query
- func Limit(limit int) *Query
- func Lt(column string, value any) *Query
- func Lte(column string, value any) *Query
- func Neq(column string, value any) *Query
- func Not(query *Query) *Query
- func Offset(offset int) *Query
- func Or(querys ...*Query) *Query
- func OrWhere(field any, args ...any) *Querydeprecated
- func OrderBy(field any, args ...any) *Query
- func Paginate(page, pageSize int) *Query
- func Table(tableName string) *Query
- func Where(field any, args ...any) *Querydeprecated
- func (w Query) And(querys ...Q) Q
- func (o Query) Asc(column string) Q
- func (q *Query) Delete() *DeleteQuery
- func (o Query) Desc(column string) Q
- func (w Query) Eq(column string, value any) Q
- func (w Query) Gt(column string, value any) Q
- func (w Query) Gte(column string, value any) Q
- func (w Query) In(column string, values ...any) Q
- func (q *Query) Insert(field any, args ...any) *InsertQuery
- func (w Query) Like(column string, value any) Q
- func (p Query) Limit(limit int) Q
- func (w Query) Lt(column string, value any) Q
- func (w Query) Lte(column string, value any) Q
- func (w Query) Neq(column string, value any) Q
- func (w Query) Not(query Q) Q
- func (w Query) NotWhere(field any, args ...any) Qdeprecated
- func (p Query) Offset(offset int) Q
- func (w Query) Or(querys ...Q) Q
- func (w Query) OrWhere(field any, args ...any) Qdeprecated
- func (o Query) OrderBy(field any, orders ...any) Q
- func (o Query) OrderByExpr() clause.OrderBys
- func (p Query) Paginate(page int, pageSize int) Q
- func (p Query) PaginationExpr() clause.Pagination
- func (q *Query) Select(fields ...string) *SelectQuery
- func (q *Query) Table(tableName string) *Query
- func (q *Query) Update(column any, value ...any) *UpdateQuery
- func (w Query) Where(field any, args ...any) Qdeprecated
- func (w Query) WhereExpr() clause.Where
- type SelectQuery
- func (w SelectQuery) And(querys ...Q) Q
- func (o SelectQuery) Asc(column string) Q
- func (q *SelectQuery) Build(builder clause.Builder)
- func (o SelectQuery) Desc(column string) Q
- func (w SelectQuery) Eq(column string, value any) Q
- func (w SelectQuery) Gt(column string, value any) Q
- func (w SelectQuery) Gte(column string, value any) Q
- func (w SelectQuery) In(column string, values ...any) Q
- func (w SelectQuery) Like(column string, value any) Q
- func (p SelectQuery) Limit(limit int) Q
- func (w SelectQuery) Lt(column string, value any) Q
- func (w SelectQuery) Lte(column string, value any) Q
- func (w SelectQuery) Neq(column string, value any) Q
- func (w SelectQuery) Not(query Q) Q
- func (w SelectQuery) NotWhere(field any, args ...any) Qdeprecated
- func (p SelectQuery) Offset(offset int) Q
- func (w SelectQuery) Or(querys ...Q) Q
- func (w SelectQuery) OrWhere(field any, args ...any) Qdeprecated
- func (o SelectQuery) OrderBy(field any, orders ...any) Q
- func (o SelectQuery) OrderByExpr() clause.OrderBys
- func (p SelectQuery) Paginate(page int, pageSize int) Q
- func (p SelectQuery) PaginationExpr() clause.Pagination
- func (q *SelectQuery) Select(fields ...string) *SelectQuery
- func (w SelectQuery) Where(field any, args ...any) Qdeprecated
- func (w SelectQuery) WhereExpr() clause.Where
- type UpdateQuery
- func (w UpdateQuery) And(querys ...Q) Q
- func (q *UpdateQuery) Build(builder clause.Builder)
- func (w UpdateQuery) Eq(column string, value any) Q
- func (w UpdateQuery) Gt(column string, value any) Q
- func (w UpdateQuery) Gte(column string, value any) Q
- func (w UpdateQuery) In(column string, values ...any) Q
- func (w UpdateQuery) Like(column string, value any) Q
- func (p UpdateQuery) Limit(limit int) Q
- func (w UpdateQuery) Lt(column string, value any) Q
- func (w UpdateQuery) Lte(column string, value any) Q
- func (w UpdateQuery) Neq(column string, value any) Q
- func (w UpdateQuery) Not(query Q) Q
- func (w UpdateQuery) NotWhere(field any, args ...any) Qdeprecated
- func (p UpdateQuery) Offset(offset int) Q
- func (w UpdateQuery) Or(querys ...Q) Q
- func (w UpdateQuery) OrWhere(field any, args ...any) Qdeprecated
- func (p UpdateQuery) Paginate(page int, pageSize int) Q
- func (p UpdateQuery) PaginationExpr() clause.Pagination
- func (q *UpdateQuery) Update(column interface{}, value ...interface{}) *UpdateQuery
- func (w UpdateQuery) Where(field any, args ...any) Qdeprecated
- func (w UpdateQuery) WhereExpr() clause.Where
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type DeleteQuery ¶
type DeleteQuery struct {
// contains filtered or unexported fields
}
DeleteQuery DELETE查询结构体
func (DeleteQuery) And ¶
func (w DeleteQuery) And(querys ...Q) Q
And 组合多个 WHERE 条件为 AND 接受多个 *Query 类型的参数
示例:
- And(Eq("name", "John"), Gte("age", 18))
func (*DeleteQuery) Build ¶
func (q *DeleteQuery) Build(builder clause.Builder)
Build 构建DELETE查询的SQL语句
func (DeleteQuery) In ¶
In 添加 IN 条件 支持传入展开值或切片/数组,内部会自动转换为 IN 条件
示例:
- In("city", "London", "Paris", "Berlin")
- In("id", []int{1, 2, 3})
func (DeleteQuery) Not ¶
func (w DeleteQuery) Not(query Q) Q
Not 对 WHERE 条件取反 接受 *Query 类型的参数
示例:
- Not(Eq("city", "London"))
func (DeleteQuery) NotWhere
deprecated
Not 添加NOT条件到当前查询
Deprecated: 使用 Not() 函数替代,例如:Not(q.Eq("name", "John"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Not("name", "John")
- q.Not("age", ">", 18)
- q.Not(clause.Eq{Column: "name", Value: "John"})
- q.Not(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (DeleteQuery) Or ¶
func (w DeleteQuery) Or(querys ...Q) Q
Or 组合多个 WHERE 条件为 OR 接受多个 *Query 类型的参数 内部使用 AND 组合多个查询条件作为一个整体
示例:
- Or(Eq("name", "John"), Eq("name", "Jane"))
func (DeleteQuery) OrWhere
deprecated
OrWhere 添加OR WHERE条件到当前查询
Deprecated: 使用 Or() 函数替代,例如:Or(q.Eq("name", "John"), q.Eq("name", "Jane"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrWhere("name", "John")
- q.OrWhere("age", ">", 18)
- q.OrWhere(clause.Eq{Column: "name", Value: "John"})
- q.OrWhere(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (DeleteQuery) Where
deprecated
Where 添加WHERE条件到当前查询
Deprecated: 使用 Eq, Neq, Gt 等方法替代,例如:q.Eq("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Where("name", "John")
- q.Where("age", ">", 18)
- q.Where(clause.Eq{Column: "name", Value: "John"})
- q.Where(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
type InsertQuery ¶
type InsertQuery struct {
// contains filtered or unexported fields
}
InsertQuery SELECT查询结构体
func (*InsertQuery) Build ¶
func (q *InsertQuery) Build(builder clause.Builder)
Build 构建INSERT查询的SQL语句
func (*InsertQuery) Insert ¶
func (q *InsertQuery) Insert(field any, args ...any) *InsertQuery
Insert 设置INSERT查询的插入值 支持三种调用方式: 1. Insert("field", value) - 设置单行单个字段值 2. Insert(map[string]any) - 插入单行数据 3. Insert(map1, map2) - 插入多行数据
type Pagination ¶
type Query ¶
type Query struct {
// contains filtered or unexported fields
}
Query 基础查询结构体
func In ¶
In 添加 IN 条件 支持传入展开值或切片/数组,内部会自动转换为 IN 条件
示例:
- In("city", "London", "Paris", "Berlin")
- In("id", []int{1, 2, 3})
func OrWhere
deprecated
OrWhere 添加OR WHERE条件到当前查询
Deprecated: 使用 Or 方法替代,例如:q.Or("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrWhere("name", "John")
- q.OrWhere("age", ">", 18)
- q.OrWhere(clause.Eq{Column: "name", Value: "John"})
- q.OrWhere(func(w Wherer) Wherer { w.Where("name", "John"); return w })
func OrderBy ¶
OrderBy 添加ORDER BY子句到当前查询 参数:
- field: 字段名、表达式或表达式数组
- args: 排序参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrderBy("age")
- q.OrderBy("age", "desc")
- q.OrderBy(clause.OrderBy{Column: "age", Direction: clause.Desc})
- q.OrderBy(func(o OrderByser) OrderByser { o.OrderBy("age"); return o })
func Where
deprecated
Where 添加WHERE条件到当前查询
Deprecated: 使用 Eq, Neq, Gt 等方法替代,例如:q.Eq("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Where("name", "John")
- q.Where("age", ">", 18)
- q.Where(clause.Eq{Column: "name", Value: "John"})
- q.Where(func(w Wherer) Wherer { w.Where("name", "John"); return w })
func (Query) And ¶
func (w Query) And(querys ...Q) Q
And 组合多个 WHERE 条件为 AND 接受多个 *Query 类型的参数
示例:
- And(Eq("name", "John"), Gte("age", 18))
func (Query) In ¶
In 添加 IN 条件 支持传入展开值或切片/数组,内部会自动转换为 IN 条件
示例:
- In("city", "London", "Paris", "Berlin")
- In("id", []int{1, 2, 3})
func (*Query) Insert ¶
func (q *Query) Insert(field any, args ...any) *InsertQuery
Insert 设置INSERT查询的插入值 支持三种调用方式: 1. Insert("field", value) - 设置单行单个字段值 2. Insert(map[string]any) - 插入单行数据 3. Insert(map1, map2) - 插入多行数据
func (Query) Not ¶
func (w Query) Not(query Q) Q
Not 对 WHERE 条件取反 接受 *Query 类型的参数
示例:
- Not(Eq("city", "London"))
func (Query) NotWhere
deprecated
Not 添加NOT条件到当前查询
Deprecated: 使用 Not() 函数替代,例如:Not(q.Eq("name", "John"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Not("name", "John")
- q.Not("age", ">", 18)
- q.Not(clause.Eq{Column: "name", Value: "John"})
- q.Not(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (Query) Or ¶
func (w Query) Or(querys ...Q) Q
Or 组合多个 WHERE 条件为 OR 接受多个 *Query 类型的参数 内部使用 AND 组合多个查询条件作为一个整体
示例:
- Or(Eq("name", "John"), Eq("name", "Jane"))
func (Query) OrWhere
deprecated
OrWhere 添加OR WHERE条件到当前查询
Deprecated: 使用 Or() 函数替代,例如:Or(q.Eq("name", "John"), q.Eq("name", "Jane"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrWhere("name", "John")
- q.OrWhere("age", ">", 18)
- q.OrWhere(clause.Eq{Column: "name", Value: "John"})
- q.OrWhere(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (Query) OrderBy ¶
OrderBy 添加排序条件 参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrderBy("name", "desc") // name DESC
- q.OrderBy("age asc") // age ASC
- q.OrderBy(clause.OrderBy{Column: "name", Desc: true}) // 使用clause.Expression
- q.OrderBy([]clause.OrderBy{ {Column: "name", Desc: true}, {Column: "age", Desc: false} }) // 多个排序子句
func (Query) PaginationExpr ¶
func (p Query) PaginationExpr() clause.Pagination
PaginationExpr 返回当前的分页表达式
func (*Query) Select ¶
func (q *Query) Select(fields ...string) *SelectQuery
Select 将查询转换为SELECT查询并设置字段
func (*Query) Update ¶
func (q *Query) Update(column any, value ...any) *UpdateQuery
Update 设置UPDATE查询的字段值 支持两种调用方式: 1. Update("field", value) - 设置单个字段值 2. Update(map[string]any) - 设置多个字段值
func (Query) Where
deprecated
Where 添加WHERE条件到当前查询
Deprecated: 使用 Eq, Neq, Gt 等方法替代,例如:q.Eq("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Where("name", "John")
- q.Where("age", ">", 18)
- q.Where(clause.Eq{Column: "name", Value: "John"})
- q.Where(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
type SelectQuery ¶
type SelectQuery struct {
// contains filtered or unexported fields
}
SelectQuery SELECT查询结构体
func (SelectQuery) And ¶
func (w SelectQuery) And(querys ...Q) Q
And 组合多个 WHERE 条件为 AND 接受多个 *Query 类型的参数
示例:
- And(Eq("name", "John"), Gte("age", 18))
func (*SelectQuery) Build ¶
func (q *SelectQuery) Build(builder clause.Builder)
Build 构建SELECT查询的SQL语句
func (SelectQuery) In ¶
In 添加 IN 条件 支持传入展开值或切片/数组,内部会自动转换为 IN 条件
示例:
- In("city", "London", "Paris", "Berlin")
- In("id", []int{1, 2, 3})
func (SelectQuery) Not ¶
func (w SelectQuery) Not(query Q) Q
Not 对 WHERE 条件取反 接受 *Query 类型的参数
示例:
- Not(Eq("city", "London"))
func (SelectQuery) NotWhere
deprecated
Not 添加NOT条件到当前查询
Deprecated: 使用 Not() 函数替代,例如:Not(q.Eq("name", "John"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Not("name", "John")
- q.Not("age", ">", 18)
- q.Not(clause.Eq{Column: "name", Value: "John"})
- q.Not(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (SelectQuery) Or ¶
func (w SelectQuery) Or(querys ...Q) Q
Or 组合多个 WHERE 条件为 OR 接受多个 *Query 类型的参数 内部使用 AND 组合多个查询条件作为一个整体
示例:
- Or(Eq("name", "John"), Eq("name", "Jane"))
func (SelectQuery) OrWhere
deprecated
OrWhere 添加OR WHERE条件到当前查询
Deprecated: 使用 Or() 函数替代,例如:Or(q.Eq("name", "John"), q.Eq("name", "Jane"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrWhere("name", "John")
- q.OrWhere("age", ">", 18)
- q.OrWhere(clause.Eq{Column: "name", Value: "John"})
- q.OrWhere(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (SelectQuery) OrderBy ¶
OrderBy 添加排序条件 参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrderBy("name", "desc") // name DESC
- q.OrderBy("age asc") // age ASC
- q.OrderBy(clause.OrderBy{Column: "name", Desc: true}) // 使用clause.Expression
- q.OrderBy([]clause.OrderBy{ {Column: "name", Desc: true}, {Column: "age", Desc: false} }) // 多个排序子句
func (SelectQuery) OrderByExpr ¶
OrderByExpr 返回当前的排序表达式
func (SelectQuery) PaginationExpr ¶
func (p SelectQuery) PaginationExpr() clause.Pagination
PaginationExpr 返回当前的分页表达式
func (*SelectQuery) Select ¶
func (q *SelectQuery) Select(fields ...string) *SelectQuery
Select 设置SELECT查询的字段
func (SelectQuery) Where
deprecated
Where 添加WHERE条件到当前查询
Deprecated: 使用 Eq, Neq, Gt 等方法替代,例如:q.Eq("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Where("name", "John")
- q.Where("age", ">", 18)
- q.Where(clause.Eq{Column: "name", Value: "John"})
- q.Where(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
type UpdateQuery ¶
type UpdateQuery struct {
// contains filtered or unexported fields
}
UpdateQuery UPDATE查询结构体
func (UpdateQuery) And ¶
func (w UpdateQuery) And(querys ...Q) Q
And 组合多个 WHERE 条件为 AND 接受多个 *Query 类型的参数
示例:
- And(Eq("name", "John"), Gte("age", 18))
func (*UpdateQuery) Build ¶
func (q *UpdateQuery) Build(builder clause.Builder)
Build 构建UPDATE查询的SQL语句
func (UpdateQuery) In ¶
In 添加 IN 条件 支持传入展开值或切片/数组,内部会自动转换为 IN 条件
示例:
- In("city", "London", "Paris", "Berlin")
- In("id", []int{1, 2, 3})
func (UpdateQuery) Not ¶
func (w UpdateQuery) Not(query Q) Q
Not 对 WHERE 条件取反 接受 *Query 类型的参数
示例:
- Not(Eq("city", "London"))
func (UpdateQuery) NotWhere
deprecated
Not 添加NOT条件到当前查询
Deprecated: 使用 Not() 函数替代,例如:Not(q.Eq("name", "John"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Not("name", "John")
- q.Not("age", ">", 18)
- q.Not(clause.Eq{Column: "name", Value: "John"})
- q.Not(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (UpdateQuery) Or ¶
func (w UpdateQuery) Or(querys ...Q) Q
Or 组合多个 WHERE 条件为 OR 接受多个 *Query 类型的参数 内部使用 AND 组合多个查询条件作为一个整体
示例:
- Or(Eq("name", "John"), Eq("name", "Jane"))
func (UpdateQuery) OrWhere
deprecated
OrWhere 添加OR WHERE条件到当前查询
Deprecated: 使用 Or() 函数替代,例如:Or(q.Eq("name", "John"), q.Eq("name", "Jane"))
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.OrWhere("name", "John")
- q.OrWhere("age", ">", 18)
- q.OrWhere(clause.Eq{Column: "name", Value: "John"})
- q.OrWhere(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })
func (UpdateQuery) PaginationExpr ¶
func (p UpdateQuery) PaginationExpr() clause.Pagination
PaginationExpr 返回当前的分页表达式
func (*UpdateQuery) Update ¶
func (q *UpdateQuery) Update(column interface{}, value ...interface{}) *UpdateQuery
Update 设置UPDATE查询的字段值 支持两种调用方式: 1. Update("field", value) - 设置单个字段值 2. Update(map[string]interface{}) - 设置多个字段值
func (UpdateQuery) Where
deprecated
Where 添加WHERE条件到当前查询
Deprecated: 使用 Eq, Neq, Gt 等方法替代,例如:q.Eq("name", "John")
参数:
- field: 字段名、表达式或表达式数组
- args: 条件参数,格式根据field类型而定
返回值:
- 当前实例,支持链式调用
示例:
- q.Where("name", "John")
- q.Where("age", ">", 18)
- q.Where(clause.Eq{Column: "name", Value: "John"})
- q.Where(func(w Wherer) Wherer { w.Where("name", "John"); return w.Parent })