Documentation
¶
Index ¶
- Constants
- func FixPgsql(str string) string
- func RemoveDuplicate(dynamic ...interface{}) (result []interface{})
- func ScanSliceStruct(rows *sql.Rows, result interface{}, tag string) error
- func StructAssign(origin interface{}, latest interface{})
- func StructAttributeIndex(rt reflect.Type) map[string]int
- func StructInsert(insert interface{}, tag string, except ...string) (column []string, values []interface{})
- func StructModify(origin interface{}, latest interface{})
- func StructUpdate(origin interface{}, latest interface{}, tag string) (modify map[string]interface{})
- type Add
- func (s *Add) Add() (int64, error)
- func (s *Add) AppendValues(values ...[]interface{}) *Add
- func (s *Add) Column(column ...string) *Add
- func (s *Add) ColumnValues(column []string, values ...[]interface{}) *Add
- func (s *Add) Comment(comment string) *Add
- func (s *Add) Context(ctx context.Context) *Add
- func (s *Add) Create(creates ...interface{}) *Add
- func (s *Add) Except(except ...string) *Add
- func (s *Add) Map(columnValue map[string]interface{}) *Add
- func (s *Add) SQL() (prepare string, args []interface{})
- func (s *Add) Table(table string) *Add
- func (s *Add) Values(values ...[]interface{}) *Add
- func (s *Add) ValuesSubQuery(prepare string, args ...interface{}) *Add
- func (s *Add) ValuesSubQueryGet(get *Get) *Add
- type Del
- func (s *Del) Comment(comment string) *Del
- func (s *Del) Context(ctx context.Context) *Del
- func (s *Del) Del() (int64, error)
- func (s *Del) SQL() (prepare string, args []interface{})
- func (s *Del) Table(table string) *Del
- func (s *Del) Where(where Filter) *Del
- func (s *Del) WhereEqual(column string, values interface{}) *Del
- func (s *Del) WhereFunc(where func(f Filter)) *Del
- func (s *Del) WhereIn(column string, values ...interface{}) *Del
- type Filter
- type Get
- func (s *Get) AddCol(column ...string) *Get
- func (s *Get) Alias(name string, alias string) string
- func (s *Get) Column(column ...string) *Get
- func (s *Get) Comment(comment string) *Get
- func (s *Get) Context(ctx context.Context) *Get
- func (s *Get) Count(column ...string) (count int64, err error)
- func (s *Get) FullJoin() *GetJoin
- func (s *Get) Get(result interface{}) error
- func (s *Get) Group(group ...string) *Get
- func (s *Get) Having(having Filter) *Get
- func (s *Get) HavingFunc(having func(f Filter)) *Get
- func (s *Get) InnerJoin() *GetJoin
- func (s *Get) Join(joins ...*GetJoin) *Get
- func (s *Get) LeftJoin() *GetJoin
- func (s *Get) Limit(limit int64) *Get
- func (s *Get) Offset(offset int64) *Get
- func (s *Get) Order(column string, order string) *Get
- func (s *Get) OrderAsc(column string) *Get
- func (s *Get) OrderDesc(column string) *Get
- func (s *Get) Prefix(prefix string, name string) string
- func (s *Get) Query(query func(rows *sql.Rows) (err error)) error
- func (s *Get) RightJoin() *GetJoin
- func (s *Get) SQL() (prepare string, args []interface{})
- func (s *Get) SQLCount(column ...string) (prepare string, args []interface{})
- func (s *Get) Table(table string) *Get
- func (s *Get) TableAlias(alias string) *Get
- func (s *Get) TableSubQuery(prepare string, args ...interface{}) *Get
- func (s *Get) TableSubQueryGet(get *Get) *Get
- func (s *Get) Where(where Filter) *Get
- func (s *Get) WhereFunc(where func(f Filter)) *Get
- type GetJoin
- func (s *GetJoin) Alias(alias string) *GetJoin
- func (s *GetJoin) On(on string) *GetJoin
- func (s *GetJoin) OnEqual(left string, right string) *GetJoin
- func (s *GetJoin) SQL() (prepare string, args []interface{})
- func (s *GetJoin) Table(table string) *GetJoin
- func (s *GetJoin) TableSubQuery(prepare string, args ...interface{}) *GetJoin
- func (s *GetJoin) TableSubQueryGet(get *Get) *GetJoin
- type JoinType
- type Logger
- type Mod
- func (s *Mod) Comment(comment string) *Mod
- func (s *Mod) Compare(origin interface{}, latest interface{}) *Mod
- func (s *Mod) Context(ctx context.Context) *Mod
- func (s *Mod) Decr(column string, value interface{}) *Mod
- func (s *Mod) Except(except ...string) *Mod
- func (s *Mod) Incr(column string, value interface{}) *Mod
- func (s *Mod) Map(columnValue map[string]interface{}) *Mod
- func (s *Mod) Mod() (int64, error)
- func (s *Mod) SQL() (prepare string, args []interface{})
- func (s *Mod) Set(column string, value interface{}) *Mod
- func (s *Mod) Slice(column []string, value []interface{}) *Mod
- func (s *Mod) Table(table string) *Mod
- func (s *Mod) Where(where Filter) *Mod
- func (s *Mod) WhereEqual(column string, value interface{}) *Mod
- func (s *Mod) WhereFunc(where func(f Filter)) *Mod
- func (s *Mod) WhereIn(column string, values ...interface{}) *Mod
- type SubQuery
- type Tab
- type Way
- func (s *Way) Add(table string) *Add
- func (s *Way) Clone() *Way
- func (s *Way) DB() *sql.DB
- func (s *Way) Del(table string) *Del
- func (s *Way) Exec(ctx context.Context, prepare string, args ...interface{}) (rowsAffected int64, err error)
- func (s *Way) ExecAll(ctx context.Context, script string, args ...interface{}) (int64, error)
- func (s *Way) Fix(fix func(string) string) *Way
- func (s *Way) Get() *Get
- func (s *Way) Log(log Logger) *Way
- func (s *Way) Mod(table string) *Mod
- func (s *Way) Query(ctx context.Context, query func(rows *sql.Rows) (err error), prepare string, ...) (err error)
- func (s *Way) ScanAll(ctx context.Context, result interface{}, prepare string, args ...interface{}) error
- func (s *Way) Slow(slow time.Duration) *Way
- func (s *Way) Tag(tag string) *Way
- func (s *Way) Trans(fn func(tx *Way) (err error)) error
- func (s *Way) Transaction(ctx context.Context, opts *sql.TxOptions, fn func(tx *Way) (err error)) (err error)
- func (s *Way) TxNil() bool
Constants ¶
const ( SqlAs = "AS" SqlAsc = "ASC" SqlDesc = "DESC" )
const (
DefaultTag = "db"
)
const (
Placeholder = "?"
)
Variables ¶
This section is empty.
Functions ¶
func RemoveDuplicate ¶
func RemoveDuplicate(dynamic ...interface{}) (result []interface{})
RemoveDuplicate remove duplicate element
func ScanSliceStruct ¶
ScanSliceStruct Scan the query result set into the receiving object, the receiving object type is *[]AnyStruct or *[]*AnyStruct.
func StructAssign ¶
func StructAssign(origin interface{}, latest interface{})
StructAssign struct attribute assignment, both the origin and latest parameters must be struct pointers.
func StructAttributeIndex ¶
StructAttributeIndex struct attribute name => index
func StructInsert ¶ added in v1.0.1
func StructInsert(insert interface{}, tag string, except ...string) (column []string, values []interface{})
StructInsert create one by AnyStruct or *AnyStruct Obtain a list of all fields to be inserted and corresponding values through the tag attribute of the structure, and support the exclusion of fixed fields.
func StructModify ¶
func StructModify(origin interface{}, latest interface{})
StructModify struct attribute is not nil assignment, both the origin and latest parameters must be struct pointers.
func StructUpdate ¶ added in v1.0.1
func StructUpdate(origin interface{}, latest interface{}, tag string) (modify map[string]interface{})
StructUpdate compare origin and latest for update
Types ¶
type Add ¶ added in v1.0.1
type Add struct {
*Tab
// contains filtered or unexported fields
}
func (*Add) AppendValues ¶ added in v1.0.1
func (*Add) ColumnValues ¶ added in v1.0.1
func (*Add) ValuesSubQuery ¶ added in v1.0.1
func (*Add) ValuesSubQueryGet ¶ added in v1.0.1
type Del ¶ added in v1.0.1
type Del struct {
*Tab
// contains filtered or unexported fields
}
func (*Del) WhereEqual ¶ added in v1.0.1
type Filter ¶
type Filter interface {
And(prepare string, args ...interface{}) Filter
Or(prepare string, args ...interface{}) Filter
Filter(filters ...Filter) Filter
OrFilter(filters ...Filter) Filter
Group(group func(filter Filter) Filter) Filter
OrGroup(group func(filter Filter) Filter) Filter
Equal(column string, value interface{}) Filter
NotEqual(column string, value interface{}) Filter
MoreThan(column string, value interface{}) Filter
MoreThanEqual(column string, value interface{}) Filter
LessThan(column string, value interface{}) Filter
LessThanEqual(column string, value interface{}) Filter
In(column string, values ...interface{}) Filter
NotIn(column string, values ...interface{}) Filter
Between(column string, start interface{}, end interface{}) Filter
NotBetween(column string, start interface{}, end interface{}) Filter
Like(column string, value interface{}) Filter
NotLike(column string, value interface{}) Filter
IsNull(column string) Filter
IsNotNull(column string) Filter
OrEqual(column string, value interface{}) Filter
OrNotEqual(column string, value interface{}) Filter
OrMoreThan(column string, value interface{}) Filter
OrMoreThanEqual(column string, value interface{}) Filter
OrLessThan(column string, value interface{}) Filter
OrLessThanEqual(column string, value interface{}) Filter
OrIn(column string, values ...interface{}) Filter
OrNotIn(column string, values ...interface{}) Filter
OrBetween(column string, start interface{}, end interface{}) Filter
OrNotBetween(column string, start interface{}, end interface{}) Filter
OrLike(column string, value interface{}) Filter
OrNotLike(column string, value interface{}) Filter
OrIsNull(column string) Filter
OrIsNotNull(column string) Filter
SQL() (prepare string, args []interface{})
}
type Get ¶ added in v1.0.1
type Get struct {
*Tab // query table
// contains filtered or unexported fields
}
func (*Get) HavingFunc ¶ added in v1.0.1
func (*Get) TableAlias ¶ added in v1.0.1
func (*Get) TableSubQuery ¶ added in v1.0.1
func (*Get) TableSubQueryGet ¶ added in v1.0.1
type GetJoin ¶ added in v1.0.1
type GetJoin struct {
// contains filtered or unexported fields
}
func NewGetJoin ¶ added in v1.0.1
func (*GetJoin) TableSubQuery ¶ added in v1.0.1
func (*GetJoin) TableSubQueryGet ¶ added in v1.0.1
type Mod ¶ added in v1.0.1
type Mod struct {
*Tab
// contains filtered or unexported fields
}
func (*Mod) WhereEqual ¶ added in v1.0.1
type SubQuery ¶
type SubQuery struct {
// contains filtered or unexported fields
}