Documentation
¶
Index ¶
- Constants
- Variables
- func Copy(source interface{}, targets ...interface{}) error
- func ToAnys[T any](items []T) []any
- func Transaction(db *sql.DB, cb func(tx Database) error) (err error)
- type Condition
- type ConditionGroup
- type Database
- type DatabaseWrap
- type Expr
- type KV
- type PaginateMeta
- type SQLBuilder
- func (builder SQLBuilder) AppendCondition(cond Condition) SQLBuilder
- func (builder SQLBuilder) Clone() SQLBuilder
- func (builder SQLBuilder) Condition(where Condition) SQLBuilder
- func (builder SQLBuilder) CrossJoin(tableName string, on ConditionGroup) SQLBuilder
- func (builder SQLBuilder) Fields(fields ...Expr) SQLBuilder
- func (builder SQLBuilder) GetFields() []Expr
- func (builder SQLBuilder) GroupBy(fields ...string) SQLBuilder
- func (builder SQLBuilder) Having(closure ConditionGroup) SQLBuilder
- func (builder SQLBuilder) InnerJoin(tableName string, on ConditionGroup) SQLBuilder
- func (builder SQLBuilder) LeftJoin(tableName string, on ConditionGroup) SQLBuilder
- func (builder SQLBuilder) Limit(limit int64) SQLBuilder
- func (builder SQLBuilder) Merge(b2s ...SQLBuilder) SQLBuilder
- func (builder SQLBuilder) Offset(offset int64) SQLBuilder
- func (builder SQLBuilder) OrWhen(when When, cg ConditionGroup) SQLBuilder
- func (builder SQLBuilder) OrWhere(field string, value ...interface{}) SQLBuilder
- func (builder SQLBuilder) OrWhereBetween(field string, min interface{}, max interface{}) SQLBuilder
- func (builder SQLBuilder) OrWhereColumn(field, operator string, value string) SQLBuilder
- func (builder SQLBuilder) OrWhereExist(subQuery SubQuery) SQLBuilder
- func (builder SQLBuilder) OrWhereGroup(wc ConditionGroup) SQLBuilder
- func (builder SQLBuilder) OrWhereIn(field string, items ...interface{}) SQLBuilder
- func (builder SQLBuilder) OrWhereNotBetween(field string, min interface{}, max interface{}) SQLBuilder
- func (builder SQLBuilder) OrWhereNotExist(subQuery SubQuery) SQLBuilder
- func (builder SQLBuilder) OrWhereNotIn(field string, items ...interface{}) SQLBuilder
- func (builder SQLBuilder) OrWhereNotNull(field string) SQLBuilder
- func (builder SQLBuilder) OrWhereNull(field string) SQLBuilder
- func (builder SQLBuilder) OrWhereRaw(raw string, items ...interface{}) SQLBuilder
- func (builder SQLBuilder) OrderBy(field string, direction string) SQLBuilder
- func (builder SQLBuilder) OrderByRaw(raw string) SQLBuilder
- func (builder SQLBuilder) ResolveAvg(field string) (string, []interface{})
- func (builder SQLBuilder) ResolveCount() (string, []interface{})
- func (builder SQLBuilder) ResolveDelete() (string, []interface{})
- func (builder SQLBuilder) ResolveInsert(kvPairs KV) (string, []interface{})
- func (builder SQLBuilder) ResolveMax(field string) (string, []interface{})
- func (builder SQLBuilder) ResolveMin(field string) (string, []interface{})
- func (builder SQLBuilder) ResolveQuery() (string, []interface{})
- func (builder SQLBuilder) ResolveSum(field string) (string, []interface{})
- func (builder SQLBuilder) ResolveUpdate(kvPairs KV) (string, []interface{})
- func (builder SQLBuilder) RightJoin(tableName string, on ConditionGroup) SQLBuilder
- func (builder SQLBuilder) Select(fields ...interface{}) SQLBuilder
- func (builder SQLBuilder) Table(name string) SQLBuilder
- func (builder SQLBuilder) Union(b2 SubQuery, distinct bool) SQLBuilder
- func (builder SQLBuilder) When(when When, cg ConditionGroup) SQLBuilder
- func (builder SQLBuilder) Where(field string, value ...interface{}) SQLBuilder
- func (builder SQLBuilder) WhereBetween(field string, min interface{}, max interface{}) SQLBuilder
- func (builder SQLBuilder) WhereColumn(field, operator string, value string) SQLBuilder
- func (builder SQLBuilder) WhereExist(subQuery SubQuery) SQLBuilder
- func (builder SQLBuilder) WhereGroup(wc ConditionGroup) SQLBuilder
- func (builder SQLBuilder) WhereIn(field string, items ...interface{}) SQLBuilder
- func (builder SQLBuilder) WhereNotBetween(field string, min interface{}, max interface{}) SQLBuilder
- func (builder SQLBuilder) WhereNotExist(subQuery SubQuery) SQLBuilder
- func (builder SQLBuilder) WhereNotIn(field string, items ...interface{}) SQLBuilder
- func (builder SQLBuilder) WhereNotNull(field string) SQLBuilder
- func (builder SQLBuilder) WhereNull(field string) SQLBuilder
- func (builder SQLBuilder) WhereRaw(raw string, items ...interface{}) SQLBuilder
- type SubQuery
- type When
Constants ¶
View Source
const ( EQ = "=" NEQ = "!=" GT = ">" GTE = ">=" LT = "<" LTE = "<=" LIKE = "LIKE" )
Variables ¶
View Source
var ( // ErrModelNotSet means you are not set the model for the domain object ErrModelNotSet = errors.New("model not set") // ErrNoResult means there is no result for current query. ErrNoResult = errors.New("no result") ErrTargetIsNil = errors.New("target is nil") ErrTargetInvalid = errors.New("target must be a pointer to struct") )
Functions ¶
Types ¶
type Condition ¶
type Condition interface {
WhereColumn(field, operator string, value string) Condition
OrWhereColumn(field, operator string, value string) Condition
OrWhereNotExist(subQuery SubQuery) Condition
OrWhereExist(subQuery SubQuery) Condition
WhereNotExist(subQuery SubQuery) Condition
WhereExist(subQuery SubQuery) Condition
OrWhereNotNull(field string) Condition
OrWhereNull(field string) Condition
WhereNotNull(field string) Condition
WhereNull(field string) Condition
OrWhereRaw(raw string, items ...any) Condition
WhereRaw(raw string, items ...any) Condition
OrWhereNotIn(field string, items ...any) Condition
OrWhereIn(field string, items ...any) Condition
WhereNotIn(field string, items ...any) Condition
WhereIn(field string, items ...any) Condition
WhereGroup(wc ConditionGroup) Condition
OrWhereGroup(wc ConditionGroup) Condition
Where(field string, value ...any) Condition
OrWhere(field string, value ...any) Condition
WhereBetween(field string, min, max any) Condition
WhereNotBetween(field string, min, max any) Condition
OrWhereBetween(field string, min, max any) Condition
OrWhereNotBetween(field string, min, max any) Condition
WhereCondition(cond sqlCondition) Condition
When(when When, cg ConditionGroup) Condition
OrWhen(when When, cg ConditionGroup) Condition
Get() []sqlCondition
Append(cond Condition) Condition
Clone() Condition
Empty() bool
Resolve(tableAlias string) (string, []any)
}
func ConditionBuilder ¶
func ConditionBuilder() Condition
type ConditionGroup ¶
type ConditionGroup func(builder Condition)
type DatabaseWrap ¶
type DatabaseWrap struct {
// contains filtered or unexported fields
}
func NewDatabaseWrap ¶
func NewDatabaseWrap(db Database) *DatabaseWrap
func (*DatabaseWrap) ExecContext ¶
func (*DatabaseWrap) GetDB ¶
func (d *DatabaseWrap) GetDB() Database
func (*DatabaseWrap) QueryContext ¶
type PaginateMeta ¶
type SQLBuilder ¶
type SQLBuilder struct {
// contains filtered or unexported fields
}
func Builder ¶
func Builder() SQLBuilder
func (SQLBuilder) AppendCondition ¶
func (builder SQLBuilder) AppendCondition(cond Condition) SQLBuilder
func (SQLBuilder) Clone ¶
func (builder SQLBuilder) Clone() SQLBuilder
func (SQLBuilder) Condition ¶
func (builder SQLBuilder) Condition(where Condition) SQLBuilder
func (SQLBuilder) CrossJoin ¶
func (builder SQLBuilder) CrossJoin(tableName string, on ConditionGroup) SQLBuilder
func (SQLBuilder) Fields ¶
func (builder SQLBuilder) Fields(fields ...Expr) SQLBuilder
Fields set fields for query
func (SQLBuilder) GetFields ¶
func (builder SQLBuilder) GetFields() []Expr
GetFields return all fields for query
func (SQLBuilder) GroupBy ¶
func (builder SQLBuilder) GroupBy(fields ...string) SQLBuilder
func (SQLBuilder) Having ¶
func (builder SQLBuilder) Having(closure ConditionGroup) SQLBuilder
func (SQLBuilder) InnerJoin ¶
func (builder SQLBuilder) InnerJoin(tableName string, on ConditionGroup) SQLBuilder
func (SQLBuilder) LeftJoin ¶
func (builder SQLBuilder) LeftJoin(tableName string, on ConditionGroup) SQLBuilder
func (SQLBuilder) Limit ¶
func (builder SQLBuilder) Limit(limit int64) SQLBuilder
func (SQLBuilder) Merge ¶
func (builder SQLBuilder) Merge(b2s ...SQLBuilder) SQLBuilder
func (SQLBuilder) Offset ¶
func (builder SQLBuilder) Offset(offset int64) SQLBuilder
func (SQLBuilder) OrWhen ¶
func (builder SQLBuilder) OrWhen(when When, cg ConditionGroup) SQLBuilder
func (SQLBuilder) OrWhere ¶
func (builder SQLBuilder) OrWhere(field string, value ...interface{}) SQLBuilder
func (SQLBuilder) OrWhereBetween ¶
func (builder SQLBuilder) OrWhereBetween(field string, min interface{}, max interface{}) SQLBuilder
func (SQLBuilder) OrWhereColumn ¶
func (builder SQLBuilder) OrWhereColumn(field, operator string, value string) SQLBuilder
func (SQLBuilder) OrWhereExist ¶
func (builder SQLBuilder) OrWhereExist(subQuery SubQuery) SQLBuilder
func (SQLBuilder) OrWhereGroup ¶
func (builder SQLBuilder) OrWhereGroup(wc ConditionGroup) SQLBuilder
func (SQLBuilder) OrWhereIn ¶
func (builder SQLBuilder) OrWhereIn(field string, items ...interface{}) SQLBuilder
func (SQLBuilder) OrWhereNotBetween ¶
func (builder SQLBuilder) OrWhereNotBetween(field string, min interface{}, max interface{}) SQLBuilder
func (SQLBuilder) OrWhereNotExist ¶
func (builder SQLBuilder) OrWhereNotExist(subQuery SubQuery) SQLBuilder
func (SQLBuilder) OrWhereNotIn ¶
func (builder SQLBuilder) OrWhereNotIn(field string, items ...interface{}) SQLBuilder
func (SQLBuilder) OrWhereNotNull ¶
func (builder SQLBuilder) OrWhereNotNull(field string) SQLBuilder
func (SQLBuilder) OrWhereNull ¶
func (builder SQLBuilder) OrWhereNull(field string) SQLBuilder
func (SQLBuilder) OrWhereRaw ¶
func (builder SQLBuilder) OrWhereRaw(raw string, items ...interface{}) SQLBuilder
func (SQLBuilder) OrderBy ¶
func (builder SQLBuilder) OrderBy(field string, direction string) SQLBuilder
func (SQLBuilder) OrderByRaw ¶
func (builder SQLBuilder) OrderByRaw(raw string) SQLBuilder
func (SQLBuilder) ResolveAvg ¶
func (builder SQLBuilder) ResolveAvg(field string) (string, []interface{})
func (SQLBuilder) ResolveCount ¶
func (builder SQLBuilder) ResolveCount() (string, []interface{})
func (SQLBuilder) ResolveDelete ¶
func (builder SQLBuilder) ResolveDelete() (string, []interface{})
func (SQLBuilder) ResolveInsert ¶
func (builder SQLBuilder) ResolveInsert(kvPairs KV) (string, []interface{})
func (SQLBuilder) ResolveMax ¶
func (builder SQLBuilder) ResolveMax(field string) (string, []interface{})
func (SQLBuilder) ResolveMin ¶
func (builder SQLBuilder) ResolveMin(field string) (string, []interface{})
func (SQLBuilder) ResolveQuery ¶
func (builder SQLBuilder) ResolveQuery() (string, []interface{})
func (SQLBuilder) ResolveSum ¶
func (builder SQLBuilder) ResolveSum(field string) (string, []interface{})
func (SQLBuilder) ResolveUpdate ¶
func (builder SQLBuilder) ResolveUpdate(kvPairs KV) (string, []interface{})
func (SQLBuilder) RightJoin ¶
func (builder SQLBuilder) RightJoin(tableName string, on ConditionGroup) SQLBuilder
func (SQLBuilder) Select ¶
func (builder SQLBuilder) Select(fields ...interface{}) SQLBuilder
func (SQLBuilder) Table ¶
func (builder SQLBuilder) Table(name string) SQLBuilder
func (SQLBuilder) Union ¶
func (builder SQLBuilder) Union(b2 SubQuery, distinct bool) SQLBuilder
func (SQLBuilder) When ¶
func (builder SQLBuilder) When(when When, cg ConditionGroup) SQLBuilder
func (SQLBuilder) Where ¶
func (builder SQLBuilder) Where(field string, value ...interface{}) SQLBuilder
func (SQLBuilder) WhereBetween ¶
func (builder SQLBuilder) WhereBetween(field string, min interface{}, max interface{}) SQLBuilder
func (SQLBuilder) WhereColumn ¶
func (builder SQLBuilder) WhereColumn(field, operator string, value string) SQLBuilder
func (SQLBuilder) WhereExist ¶
func (builder SQLBuilder) WhereExist(subQuery SubQuery) SQLBuilder
func (SQLBuilder) WhereGroup ¶
func (builder SQLBuilder) WhereGroup(wc ConditionGroup) SQLBuilder
func (SQLBuilder) WhereIn ¶
func (builder SQLBuilder) WhereIn(field string, items ...interface{}) SQLBuilder
func (SQLBuilder) WhereNotBetween ¶
func (builder SQLBuilder) WhereNotBetween(field string, min interface{}, max interface{}) SQLBuilder
func (SQLBuilder) WhereNotExist ¶
func (builder SQLBuilder) WhereNotExist(subQuery SubQuery) SQLBuilder
func (SQLBuilder) WhereNotIn ¶
func (builder SQLBuilder) WhereNotIn(field string, items ...interface{}) SQLBuilder
func (SQLBuilder) WhereNotNull ¶
func (builder SQLBuilder) WhereNotNull(field string) SQLBuilder
func (SQLBuilder) WhereNull ¶
func (builder SQLBuilder) WhereNull(field string) SQLBuilder
func (SQLBuilder) WhereRaw ¶
func (builder SQLBuilder) WhereRaw(raw string, items ...interface{}) SQLBuilder
Click to show internal directories.
Click to hide internal directories.