Documentation ¶
Index ¶
- Constants
- func SetTrace(t bool)
- type Config
- type Connection
- type DbError
- type Epr
- type Grammar
- type NullBool
- type NullDate
- type NullDateTime
- type NullFloat64
- type NullInt32
- type NullInt64
- type NullString
- type Nullable
- type Proxy
- type ProxyPool
- type QueryBuilder
- func (query *QueryBuilder) Between(column string, value1 interface{}, value2 interface{}) *QueryBuilder
- func (query *QueryBuilder) Count() (int64, error)
- func (query *QueryBuilder) Delete() (int64, error)
- func (query *QueryBuilder) DeleteSQL() string
- func (query *QueryBuilder) Distinct() *QueryBuilder
- func (query *QueryBuilder) Equal(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) Exec(sql string, args ...interface{}) (int64, error)
- func (query *QueryBuilder) ExecSQL(sql string, args ...interface{}) string
- func (query *QueryBuilder) GroupBy(groups ...string) *QueryBuilder
- func (query *QueryBuilder) In(column string, value ...interface{}) *QueryBuilder
- func (query *QueryBuilder) InnerJoin(tablename string, on string) *QueryBuilder
- func (query *QueryBuilder) Insert(data interface{}) (int64, error)
- func (query *QueryBuilder) InsertSQL(data interface{}) string
- func (query *QueryBuilder) InsertUpdate(insert interface{}, update interface{}) (int64, error)
- func (query *QueryBuilder) InsertUpdateSQL(insert interface{}, update interface{}) string
- func (query *QueryBuilder) IsNULL(column string) *QueryBuilder
- func (query *QueryBuilder) IsNotNULL(column string) *QueryBuilder
- func (query *QueryBuilder) IsZero(v reflect.Value) bool
- func (query *QueryBuilder) Join(tablename string, on string) *QueryBuilder
- func (query *QueryBuilder) LeftJoin(tablename string, on string) *QueryBuilder
- func (query *QueryBuilder) Like(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) Limit(limit int64) *QueryBuilder
- func (query *QueryBuilder) MultiInsert(datas ...interface{}) (int64, error)
- func (query *QueryBuilder) MultiInsertSQL(datas ...interface{}) string
- func (query *QueryBuilder) NotBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
- func (query *QueryBuilder) NotEqual(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) NotIn(column string, value ...interface{}) *QueryBuilder
- func (query *QueryBuilder) NotOrBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
- func (query *QueryBuilder) Offset(offset int64) *QueryBuilder
- func (query *QueryBuilder) OrBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
- func (query *QueryBuilder) OrEqual(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) OrIn(column string, value ...interface{}) *QueryBuilder
- func (query *QueryBuilder) OrIsNULL(column string) *QueryBuilder
- func (query *QueryBuilder) OrIsNotNULL(column string) *QueryBuilder
- func (query *QueryBuilder) OrLike(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) OrNotEqual(column string, value interface{}) *QueryBuilder
- func (query *QueryBuilder) OrNotIn(column string, value ...interface{}) *QueryBuilder
- func (query *QueryBuilder) OrWhere(column string, value ...interface{}) *QueryBuilder
- func (query *QueryBuilder) OrderBy(column string, direction string) *QueryBuilder
- func (query *QueryBuilder) QueryRow(sql string, args ...interface{}) *Row
- func (query *QueryBuilder) QueryRowSQL(sql string, args ...interface{}) string
- func (query *QueryBuilder) QueryRows(sql string, args ...interface{}) *Rows
- func (query *QueryBuilder) QueryRowsSQL(sql string, args ...interface{}) string
- func (query *QueryBuilder) Replace(datas ...interface{}) (int64, error)
- func (query *QueryBuilder) ReplaceSQL(datas ...interface{}) string
- func (query *QueryBuilder) RightJoin(tablename string, on string) *QueryBuilder
- func (query *QueryBuilder) Row() *Row
- func (query *QueryBuilder) RowSQL() string
- func (query *QueryBuilder) Rows() *Rows
- func (query *QueryBuilder) RowsSQL() string
- func (query *QueryBuilder) Select(columns ...string) *QueryBuilder
- func (query *QueryBuilder) Skip(offset int64) *QueryBuilder
- func (query *QueryBuilder) Table(tablename ...string) *QueryBuilder
- func (query *QueryBuilder) ToSql(method string) string
- func (query *QueryBuilder) Union(unions ...QueryBuilder) *QueryBuilder
- func (query *QueryBuilder) UnionAll(unions ...QueryBuilder) *QueryBuilder
- func (query *QueryBuilder) UnionLimit(limit int64) *QueryBuilder
- func (query *QueryBuilder) UnionOffset(offset int64) *QueryBuilder
- func (query *QueryBuilder) UnionOrderBy(column string, direction string) *QueryBuilder
- func (query *QueryBuilder) Update(data interface{}) (int64, error)
- func (query *QueryBuilder) UpdateSQL(data interface{}) string
- func (query *QueryBuilder) Where(column string, value ...interface{}) *QueryBuilder
- type QueryDb
- func (querydb *QueryDb) Begin() (*QueryTx, error)
- func (querydb *QueryDb) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
- func (querydb *QueryDb) GetLastSql() Sql
- func (querydb *QueryDb) LastSql(query string, args ...interface{})
- func (querydb *QueryDb) NewQuery(ctx context.Context) *QueryBuilder
- func (querydb *QueryDb) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
- type QueryTx
- func (querytx *QueryTx) Commit() error
- func (querytx *QueryTx) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
- func (querytx *QueryTx) GetLastSql() Sql
- func (querytx *QueryTx) LastSql(query string, args ...interface{})
- func (querytx *QueryTx) NewQuery(ctx context.Context) *QueryBuilder
- func (querytx *QueryTx) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
- func (querytx *QueryTx) Rollback() error
- type Row
- type Rows
- type Sql
Constants ¶
const ( BETWEEN = "BETWEEN" NOTBETWEEN = "NOT BETWEEN" IN = "IN" NOTIN = "NOT IN" AND = "AND" OR = "OR" ISNULL = "IS NULL" ISNOTNULL = "IS NOT NULL" EQUAL = "=" NOTEQUAL = "!=" LIKE = "LIKE" JOIN = "JOIN" INNERJOIN = "INNER JOIN" LEFTJOIN = "LEFT JOIN" RIGHTJOIN = "RIGHT JOIN" UNION = "UNION" UNIONALL = "UNION ALL" DESC = "DESC" ASC = "ASC" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct { Username string //账号 root Password string //密码 Host string //host localhost Port string //端口 3306 Charset string //字符编码 utf8mb4 Database string //默认连接数据库 ConnMaxLifetime time.Duration //设置一个连接的最长生命周期,因为数据库本身对连接有一个超时时间的设置,如果超时时间到了数据库会单方面断掉连接,此时再用连接池内的连接进行访问就会出错, 因此这个值往往要小于数据库本身的连接超时时间 ConnMaxIdleTime time.Duration //设置连接的生命周期的最大 MaxIdleConns int //设置闲置的连接数,连接池里面允许Idel的最大连接数, 这些Idel的连接 就是并发时可以同时获取的连接,也是用完后放回池里面的互用的连接, 从而提升性能 MaxOpenConns int //设置最大打开的连接数,默认值为0表示不限制。控制应用于数据库建立连接的数量,避免过多连接压垮数据库。 }
Config 数据库配置
type Connection ¶
type Connection interface { Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error) Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) NewQuery(ctx context.Context) *QueryBuilder GetLastSql() Sql LastSql(query string, args ...interface{}) }
Connection 链接
type Grammar ¶
type Grammar struct {
// contains filtered or unexported fields
}
Grammar sql 语法
func (Grammar) InsertUpdate ¶
type NullBool ¶ added in v1.4.12
func NewNullBool ¶ added in v1.4.12
func NewNullBool() NullBool
func (NullBool) MarshalJSON ¶ added in v1.4.12
func (*NullBool) UnmarshalJSON ¶ added in v1.4.12
type NullDate ¶ added in v1.4.12
type NullDate struct {
sql.NullString
}
NullDate 空字符串
func NewNullDate ¶ added in v1.4.12
func NewNullDate() NullDate
func (NullDate) MarshalJSON ¶ added in v1.4.12
func (*NullDate) UnmarshalJSON ¶ added in v1.4.12
type NullDateTime ¶ added in v1.4.12
type NullDateTime struct {
sql.NullString
}
NullDate 空字符串
func NewDateTime ¶ added in v1.4.12
func NewDateTime(s interface{}) NullDateTime
func NewNullDateTime ¶ added in v1.4.12
func NewNullDateTime() NullDateTime
func (NullDateTime) IsEmpty ¶ added in v1.4.12
func (ns NullDateTime) IsEmpty() bool
func (NullDateTime) IsValid ¶ added in v1.4.12
func (ns NullDateTime) IsValid() bool
func (NullDateTime) MarshalJSON ¶ added in v1.4.12
func (ns NullDateTime) MarshalJSON() ([]byte, error)
func (NullDateTime) Result ¶ added in v1.4.12
func (ns NullDateTime) Result() interface{}
func (*NullDateTime) Scan ¶ added in v1.4.13
func (nt *NullDateTime) Scan(value interface{}) error
func (*NullDateTime) UnmarshalJSON ¶ added in v1.4.12
func (ns *NullDateTime) UnmarshalJSON(b []byte) error
type NullFloat64 ¶ added in v1.4.12
type NullFloat64 struct{ sql.NullFloat64 }
func NewFloat64 ¶ added in v1.4.12
func NewFloat64(f float64) NullFloat64
func NewNullFloat64 ¶ added in v1.4.12
func NewNullFloat64() NullFloat64
func (NullFloat64) Convert ¶ added in v1.4.12
func (n NullFloat64) Convert() string
func (NullFloat64) IsEmpty ¶ added in v1.4.12
func (n NullFloat64) IsEmpty() bool
func (NullFloat64) IsValid ¶ added in v1.4.12
func (n NullFloat64) IsValid() bool
func (NullFloat64) MarshalJSON ¶ added in v1.4.12
func (nf NullFloat64) MarshalJSON() ([]byte, error)
func (NullFloat64) Result ¶ added in v1.4.12
func (ns NullFloat64) Result() interface{}
func (*NullFloat64) UnmarshalJSON ¶ added in v1.4.12
func (nf *NullFloat64) UnmarshalJSON(b []byte) error
type NullInt32 ¶ added in v1.4.12
func NewNullInt32 ¶ added in v1.4.12
func NewNullInt32() NullInt32
func (NullInt32) MarshalJSON ¶ added in v1.4.12
func (*NullInt32) UnmarshalJSON ¶ added in v1.4.12
type NullInt64 ¶ added in v1.4.12
func NewNullInt64 ¶ added in v1.4.12
func NewNullInt64() NullInt64
func (NullInt64) MarshalJSON ¶ added in v1.4.12
func (*NullInt64) UnmarshalJSON ¶ added in v1.4.12
type NullString ¶ added in v1.4.12
type NullString struct {
sql.NullString
}
NullString 空字符串
func NewNullString ¶ added in v1.4.12
func NewNullString() NullString
func NewString ¶ added in v1.4.12
func NewString(s string) NullString
func (NullString) Convert ¶ added in v1.4.12
func (n NullString) Convert() string
func (NullString) IsEmpty ¶ added in v1.4.12
func (ns NullString) IsEmpty() bool
func (NullString) IsValid ¶ added in v1.4.12
func (ns NullString) IsValid() bool
func (NullString) MarshalJSON ¶ added in v1.4.12
func (ns NullString) MarshalJSON() ([]byte, error)
func (NullString) Result ¶ added in v1.4.12
func (ns NullString) Result() interface{}
func (*NullString) UnmarshalJSON ¶ added in v1.4.12
func (ns *NullString) UnmarshalJSON(b []byte) error
type ProxyPool ¶
type ProxyPool struct {
// contains filtered or unexported fields
}
ProxyPool 代理池
func (*ProxyPool) SetNameSpace ¶
SetNameSpace 设置组
type QueryBuilder ¶
type QueryBuilder struct {
// contains filtered or unexported fields
}
QueryBuilder 查询构造器
func (*QueryBuilder) Between ¶
func (query *QueryBuilder) Between(column string, value1 interface{}, value2 interface{}) *QueryBuilder
Between 构造Between
func (*QueryBuilder) Equal ¶
func (query *QueryBuilder) Equal(column string, value interface{}) *QueryBuilder
Equal 构造等于
func (*QueryBuilder) Exec ¶
func (query *QueryBuilder) Exec(sql string, args ...interface{}) (int64, error)
Exec 原始SQl语句执行
func (*QueryBuilder) ExecSQL ¶
func (query *QueryBuilder) ExecSQL(sql string, args ...interface{}) string
ExecSQL 原始SQl语句执行
func (*QueryBuilder) GroupBy ¶
func (query *QueryBuilder) GroupBy(groups ...string) *QueryBuilder
GroupBy .
func (*QueryBuilder) In ¶
func (query *QueryBuilder) In(column string, value ...interface{}) *QueryBuilder
In 构造 in语句
func (*QueryBuilder) InnerJoin ¶
func (query *QueryBuilder) InnerJoin(tablename string, on string) *QueryBuilder
func (*QueryBuilder) Insert ¶
func (query *QueryBuilder) Insert(data interface{}) (int64, error)
Insert 插入数据
func (*QueryBuilder) InsertSQL ¶
func (query *QueryBuilder) InsertSQL(data interface{}) string
InsertSQL 获取SQL语句
func (*QueryBuilder) InsertUpdate ¶
func (query *QueryBuilder) InsertUpdate(insert interface{}, update interface{}) (int64, error)
InsertUpdate ...
func (*QueryBuilder) InsertUpdateSQL ¶
func (query *QueryBuilder) InsertUpdateSQL(insert interface{}, update interface{}) string
InsertUpdateSQL ...
func (*QueryBuilder) IsNULL ¶
func (query *QueryBuilder) IsNULL(column string) *QueryBuilder
IsNULL .
func (*QueryBuilder) IsNotNULL ¶
func (query *QueryBuilder) IsNotNULL(column string) *QueryBuilder
IsNotNULL .
func (*QueryBuilder) IsZero ¶ added in v1.7.30
func (query *QueryBuilder) IsZero(v reflect.Value) bool
func (*QueryBuilder) Join ¶
func (query *QueryBuilder) Join(tablename string, on string) *QueryBuilder
Join .
func (*QueryBuilder) LeftJoin ¶
func (query *QueryBuilder) LeftJoin(tablename string, on string) *QueryBuilder
LeftJoin .
func (*QueryBuilder) Like ¶
func (query *QueryBuilder) Like(column string, value interface{}) *QueryBuilder
Like .
func (*QueryBuilder) MultiInsert ¶
func (query *QueryBuilder) MultiInsert(datas ...interface{}) (int64, error)
MultiInsert 批量插入
func (*QueryBuilder) MultiInsertSQL ¶
func (query *QueryBuilder) MultiInsertSQL(datas ...interface{}) string
MultiInsertSQL 批量插入
func (*QueryBuilder) NotBetween ¶
func (query *QueryBuilder) NotBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
NotBetween 构造不Not Between
func (*QueryBuilder) NotEqual ¶
func (query *QueryBuilder) NotEqual(column string, value interface{}) *QueryBuilder
NotEqual 构造不等于
func (*QueryBuilder) NotIn ¶
func (query *QueryBuilder) NotIn(column string, value ...interface{}) *QueryBuilder
NotIn .
func (*QueryBuilder) NotOrBetween ¶
func (query *QueryBuilder) NotOrBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
NotOrBetween 构造 Not Between OR Not Between
func (*QueryBuilder) Offset ¶
func (query *QueryBuilder) Offset(offset int64) *QueryBuilder
Offset .
func (*QueryBuilder) OrBetween ¶
func (query *QueryBuilder) OrBetween(column string, value1 interface{}, value2 interface{}) *QueryBuilder
OrBetween 构造 或者 Between
func (*QueryBuilder) OrEqual ¶
func (query *QueryBuilder) OrEqual(column string, value interface{}) *QueryBuilder
OrEqual 构造或者等于
func (*QueryBuilder) OrIn ¶
func (query *QueryBuilder) OrIn(column string, value ...interface{}) *QueryBuilder
OrIn orin语句
func (*QueryBuilder) OrIsNULL ¶
func (query *QueryBuilder) OrIsNULL(column string) *QueryBuilder
OrIsNULL .
func (*QueryBuilder) OrIsNotNULL ¶
func (query *QueryBuilder) OrIsNotNULL(column string) *QueryBuilder
OrIsNotNULL .
func (*QueryBuilder) OrLike ¶
func (query *QueryBuilder) OrLike(column string, value interface{}) *QueryBuilder
OrLike .
func (*QueryBuilder) OrNotEqual ¶
func (query *QueryBuilder) OrNotEqual(column string, value interface{}) *QueryBuilder
OrNotEqual 构造或者不等于
func (*QueryBuilder) OrNotIn ¶
func (query *QueryBuilder) OrNotIn(column string, value ...interface{}) *QueryBuilder
OrNotIn .
func (*QueryBuilder) OrWhere ¶
func (query *QueryBuilder) OrWhere(column string, value ...interface{}) *QueryBuilder
OrWhere 构造OR条件
func (*QueryBuilder) OrderBy ¶
func (query *QueryBuilder) OrderBy(column string, direction string) *QueryBuilder
OrderBy .
func (*QueryBuilder) QueryRow ¶
func (query *QueryBuilder) QueryRow(sql string, args ...interface{}) *Row
QueryRow ...
func (*QueryBuilder) QueryRowSQL ¶
func (query *QueryBuilder) QueryRowSQL(sql string, args ...interface{}) string
QueryRowSQL ...
func (*QueryBuilder) QueryRows ¶
func (query *QueryBuilder) QueryRows(sql string, args ...interface{}) *Rows
QueryRows ...
func (*QueryBuilder) QueryRowsSQL ¶
func (query *QueryBuilder) QueryRowsSQL(sql string, args ...interface{}) string
QueryRowsSQL ...
func (*QueryBuilder) Replace ¶
func (query *QueryBuilder) Replace(datas ...interface{}) (int64, error)
Replace 替换
func (*QueryBuilder) ReplaceSQL ¶
func (query *QueryBuilder) ReplaceSQL(datas ...interface{}) string
ReplaceSQL 替换
func (*QueryBuilder) RightJoin ¶
func (query *QueryBuilder) RightJoin(tablename string, on string) *QueryBuilder
RightJoin .
func (*QueryBuilder) Select ¶
func (query *QueryBuilder) Select(columns ...string) *QueryBuilder
Select 查询字段
func (*QueryBuilder) Table ¶
func (query *QueryBuilder) Table(tablename ...string) *QueryBuilder
Table 设置操作的表名称
func (*QueryBuilder) Union ¶
func (query *QueryBuilder) Union(unions ...QueryBuilder) *QueryBuilder
Union .
func (*QueryBuilder) UnionAll ¶
func (query *QueryBuilder) UnionAll(unions ...QueryBuilder) *QueryBuilder
UnionAll .
func (*QueryBuilder) UnionLimit ¶
func (query *QueryBuilder) UnionLimit(limit int64) *QueryBuilder
UnionLimit .
func (*QueryBuilder) UnionOffset ¶
func (query *QueryBuilder) UnionOffset(offset int64) *QueryBuilder
UnionOffset .
func (*QueryBuilder) UnionOrderBy ¶
func (query *QueryBuilder) UnionOrderBy(column string, direction string) *QueryBuilder
UnionOrderBy .
func (*QueryBuilder) Update ¶
func (query *QueryBuilder) Update(data interface{}) (int64, error)
Update 更新
func (*QueryBuilder) UpdateSQL ¶
func (query *QueryBuilder) UpdateSQL(data interface{}) string
UpdateSQL 更新
func (*QueryBuilder) Where ¶
func (query *QueryBuilder) Where(column string, value ...interface{}) *QueryBuilder
Where 构造条件语句
type QueryDb ¶
type QueryDb struct {
// contains filtered or unexported fields
}
QueryDb mysql 配置
func (*QueryDb) Exec ¶
func (querydb *QueryDb) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
Exec 复用执行语句
type QueryTx ¶
QueryTx 事务
func (*QueryTx) Exec ¶
func (querytx *QueryTx) Exec(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
Exec 复用执行语句
func (*QueryTx) NewQuery ¶
func (querytx *QueryTx) NewQuery(ctx context.Context) *QueryBuilder
NewQuery 生成一个新的查询构造器
type Row ¶
type Row struct {
// contains filtered or unexported fields
}
Row 获取记录
func (*Row) ToInterface ¶
type Rows ¶
type Rows struct {
// contains filtered or unexported fields
}
Rows get data
func (*Rows) ToInterface ¶
ToInterface []map[interface{}]interface{}