query

package
v2.9.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BETWEEN      = "BETWEEN"
	NOTBETWEEN   = "NOT BETWEEN"
	IN           = "IN"
	NOTIN        = "NOT IN"
	AND          = "AND"
	OR           = "OR"
	ISNULL       = "IS NULL"
	ISNOTNULL    = "IS NOT NULL"
	EQUAL        = "="
	NOTEQUAL     = "!="
	GREATER      = ">"
	GREATEREQUAL = ">="
	LESS         = "<"
	LESSEQUAL    = "<="
	LIKE         = "LIKE"
	JOIN         = "JOIN"
	INNERJOIN    = "INNER JOIN"
	LEFTJOIN     = "LEFT JOIN"
	RIGHTJOIN    = "RIGHT JOIN"
	UNION        = "UNION"
	UNIONALL     = "UNION ALL"
	DESC         = "DESC"
	ASC          = "ASC"
)

BETWEEN ...

Variables

This section is empty.

Functions

func NewSQLConn

func NewSQLConn(driverName, server string, opt *Opt) (*sql.DB, error)

NewSQLConn ...

Types

type BatchError

type BatchError struct {
	// contains filtered or unexported fields
}

A BatchError is an error that can hold multiple errors.

func (*BatchError) Add

func (be *BatchError) Add(err error)

Add adds err to be.

func (*BatchError) Err

func (be *BatchError) Err() error

Err returns an error that represents all errors.

func (*BatchError) NotNil

func (be *BatchError) NotNil() bool

NotNil checks if any error inside.

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder 查询构造器

func (*Builder) Between

func (builder *Builder) Between(column string, value1 interface{}, value2 interface{}) *Builder

Between 构造Between

func (*Builder) Count

func (builder *Builder) Count() (int64, error)

Count ...

func (*Builder) Delete

func (builder *Builder) Delete() (int64, error)

Delete .

func (*Builder) DeleteSQL

func (builder *Builder) DeleteSQL() string

DeleteSQL .

func (*Builder) Distinct

func (builder *Builder) Distinct() *Builder

Distinct .

func (*Builder) Equal

func (builder *Builder) Equal(column string, value interface{}) *Builder

Equal 构造等于

func (*Builder) Exec

func (builder *Builder) Exec(sql string, args ...interface{}) (int64, error)

Exec 原始SQl语句执行

func (*Builder) ExecSQL

func (builder *Builder) ExecSQL(sql string, args ...interface{}) string

ExecSQL 原始SQl语句执行

func (*Builder) Greater

func (builder *Builder) Greater(column string, value interface{}) *Builder

Greater 构造大于

func (*Builder) GreaterEqual

func (builder *Builder) GreaterEqual(column string, value interface{}) *Builder

Greater 构造大于等于

func (*Builder) GroupBy

func (builder *Builder) GroupBy(groups ...string) *Builder

GroupBy .

func (*Builder) In

func (builder *Builder) In(column string, value ...interface{}) *Builder

In 构造 in语句

func (*Builder) InnerJoin

func (builder *Builder) InnerJoin(tablename string, on string) *Builder

InnerJoin ...

func (*Builder) Insert

func (builder *Builder) Insert(data interface{}) (int64, error)

Insert 插入数据

func (*Builder) InsertSQL

func (builder *Builder) InsertSQL(data interface{}) string

InsertSQL 获取SQL语句

func (*Builder) InsertUpdate

func (builder *Builder) InsertUpdate(insert interface{}, update interface{}) (int64, error)

InsertUpdate ...

func (*Builder) InsertUpdateSQL

func (builder *Builder) InsertUpdateSQL(insert interface{}, update interface{}) string

InsertUpdateSQL ...

func (*Builder) IsNULL

func (builder *Builder) IsNULL(column string) *Builder

IsNULL .

func (*Builder) IsNotNULL

func (builder *Builder) IsNotNULL(column string) *Builder

IsNotNULL .

func (*Builder) IsZero

func (builder *Builder) IsZero(v reflect.Value) bool

IsZero ...

func (*Builder) Join

func (builder *Builder) Join(tablename string, on string) *Builder

Join .

func (*Builder) LeftJoin

func (builder *Builder) LeftJoin(tablename string, on string) *Builder

LeftJoin .

func (*Builder) Less

func (builder *Builder) Less(column string, value interface{}) *Builder

Greater 构造小于

func (*Builder) LessEqual

func (builder *Builder) LessEqual(column string, value interface{}) *Builder

Greater 构造小于等于

func (*Builder) Like

func (builder *Builder) Like(column string, value interface{}) *Builder

Like .

func (*Builder) Limit

func (builder *Builder) Limit(limit int64) *Builder

Limit .

func (*Builder) MultiInsert

func (builder *Builder) MultiInsert(datas ...interface{}) (int64, error)

MultiInsert 批量插入

func (*Builder) MultiInsertSQL

func (builder *Builder) MultiInsertSQL(datas ...interface{}) string

MultiInsertSQL 批量插入

func (*Builder) NotBetween

func (builder *Builder) NotBetween(column string, value1 interface{}, value2 interface{}) *Builder

NotBetween 构造不Not Between

func (*Builder) NotEqual

func (builder *Builder) NotEqual(column string, value interface{}) *Builder

NotEqual 构造不等于

func (*Builder) NotIn

func (builder *Builder) NotIn(column string, value ...interface{}) *Builder

NotIn .

func (*Builder) NotOrBetween

func (builder *Builder) NotOrBetween(column string, value1 interface{}, value2 interface{}) *Builder

NotOrBetween 构造 Not Between OR Not Between

func (*Builder) Offset

func (builder *Builder) Offset(offset int64) *Builder

Offset .

func (*Builder) OrBetween

func (builder *Builder) OrBetween(column string, value1 interface{}, value2 interface{}) *Builder

OrBetween 构造 或者 Between

func (*Builder) OrEqual

func (builder *Builder) OrEqual(column string, value interface{}) *Builder

OrEqual 构造或者等于

func (*Builder) OrIn

func (builder *Builder) OrIn(column string, value ...interface{}) *Builder

OrIn orin语句

func (*Builder) OrIsNULL

func (builder *Builder) OrIsNULL(column string) *Builder

OrIsNULL .

func (*Builder) OrIsNotNULL

func (builder *Builder) OrIsNotNULL(column string) *Builder

OrIsNotNULL .

func (*Builder) OrLike

func (builder *Builder) OrLike(column string, value interface{}) *Builder

OrLike .

func (*Builder) OrNotEqual

func (builder *Builder) OrNotEqual(column string, value interface{}) *Builder

OrNotEqual 构造或者不等于

func (*Builder) OrNotIn

func (builder *Builder) OrNotIn(column string, value ...interface{}) *Builder

OrNotIn .

func (*Builder) OrWhere

func (builder *Builder) OrWhere(column string, value ...interface{}) *Builder

OrWhere 构造OR条件

func (*Builder) OrderBy

func (builder *Builder) OrderBy(column string, direction string) *Builder

OrderBy .

func (*Builder) QueryRow

func (builder *Builder) QueryRow(sql string, args ...interface{}) *Row

QueryRow ...

func (*Builder) QueryRowSQL

func (builder *Builder) QueryRowSQL(sql string, args ...interface{}) string

QueryRowSQL ...

func (*Builder) QueryRows

func (builder *Builder) QueryRows(sql string, args ...interface{}) *Rows

QueryRows ...

func (*Builder) QueryRowsSQL

func (builder *Builder) QueryRowsSQL(sql string, args ...interface{}) string

QueryRowsSQL ...

func (*Builder) Replace

func (builder *Builder) Replace(datas ...interface{}) (int64, error)

Replace 替换

func (*Builder) ReplaceSQL

func (builder *Builder) ReplaceSQL(datas ...interface{}) string

ReplaceSQL 替换

func (*Builder) RightJoin

func (builder *Builder) RightJoin(tablename string, on string) *Builder

RightJoin .

func (*Builder) Row

func (builder *Builder) Row() *Row

Row 获取一条记录

func (*Builder) RowSQL

func (builder *Builder) RowSQL() string

RowSQL ...

func (*Builder) Rows

func (builder *Builder) Rows() *Rows

Rows 获取多条记录

func (*Builder) RowsSQL

func (builder *Builder) RowsSQL() string

RowsSQL ...

func (*Builder) Select

func (builder *Builder) Select(columns ...string) *Builder

Select 查询字段

func (*Builder) Skip

func (builder *Builder) Skip(offset int64) *Builder

Skip .

func (*Builder) Table

func (builder *Builder) Table(tableName ...string) *Builder

Table 设置操作的表名称

func (*Builder) ToSQL

func (builder *Builder) ToSQL(method string) string

ToSQL 输出SQL语句

func (*Builder) Union

func (builder *Builder) Union(unions ...Builder) *Builder

Union .

func (*Builder) UnionAll

func (builder *Builder) UnionAll(unions ...Builder) *Builder

UnionAll .

func (*Builder) UnionLimit

func (builder *Builder) UnionLimit(limit int64) *Builder

UnionLimit .

func (*Builder) UnionOffset

func (builder *Builder) UnionOffset(offset int64) *Builder

UnionOffset .

func (*Builder) UnionOrderBy

func (builder *Builder) UnionOrderBy(column string, direction string) *Builder

UnionOrderBy .

func (*Builder) Update

func (builder *Builder) Update(data interface{}) (int64, error)

Update 更新

func (*Builder) UpdateSQL

func (builder *Builder) UpdateSQL(data interface{}) string

UpdateSQL 更新

func (*Builder) Where

func (builder *Builder) Where(column string, value ...interface{}) *Builder

Where 构造条件语句

type Connection

type Connection interface {
	Exec(ctx context.Context, querySQL string, args ...interface{}) (sql.Result, error)
	Query(ctx context.Context, querySQL string, args ...interface{}) (*sql.Rows, error)
	NewBuilder(ctx context.Context) *Builder
	SQLRaw() string
	LastSQL(querySQL string, args ...interface{})
}

Connection 链接

type Epr

type Epr struct {
	// contains filtered or unexported fields
}

Epr ...

func NewEpr

func NewEpr(value string) Epr

NewEpr ...

func (Epr) ToString

func (e Epr) ToString() string

ToString ...

type Grammar

type Grammar struct {
	// contains filtered or unexported fields
}

Grammar sql 语法

func (Grammar) Delete

func (g Grammar) Delete() string

Delete ...

func (Grammar) Insert

func (g Grammar) Insert() string

Insert ...

func (Grammar) InsertUpdate

func (g Grammar) InsertUpdate() string

InsertUpdate ...

func (Grammar) Replace

func (g Grammar) Replace() string

Replace ...

func (Grammar) Select

func (g Grammar) Select() string

Select 构造select

func (Grammar) ToSQL

func (g Grammar) ToSQL() string

ToSQL ...

func (Grammar) Update

func (g Grammar) Update() string

Update ...

type Opt

type Opt struct {
	MaxLifetime  time.Duration //连接池里面的连接最大存活时长
	MaxIdleTime  time.Duration //连接池里面的连接最大空闲时长
	MaxOpenConns int           //连接池最多同时打开的连接数
	MaxIdleConns int           //连接池里最大空闲连接数。必须要比maxOpenConns小
}

Opt ...

type Query

type Query struct {
	DB            *sql.DB
	SQL           SQL
	DriverName    string
	DisableMetric bool // 关闭指标采集
	DisableTrace  bool // 关闭链路追踪
	Prepare       bool
	DBName        string
	Addr          string
	Func          string // 上个函数调用的函数名称
	Path          string // 上个函数调用的函数位置
}

Query 构造查询

func (*Query) Begin

func (query *Query) Begin() (*Transaction, error)

Begin 开启一个事务

func (*Query) Exec

func (query *Query) Exec(ctx context.Context, querySQL string, args ...interface{}) (sql.Result, error)

Exec 复用执行语句

func (*Query) LastSQL

func (query *Query) LastSQL(querySQL string, args ...interface{})

LastSQL ...

func (*Query) NewBuilder

func (query *Query) NewBuilder(ctx context.Context) *Builder

NewBuilder 生成一个新的查询构造器

func (*Query) Query

func (query *Query) Query(ctx context.Context, querySQL string, args ...interface{}) (*sql.Rows, error)

Query 复用查询语句

func (*Query) SQLRaw

func (query *Query) SQLRaw() string

SQLRaw ...

type ResourceManager

type ResourceManager struct {
	// contains filtered or unexported fields
}

ResourceManager A ResourceManager is a manager that used to manage resources.

func NewResourceManager

func NewResourceManager() *ResourceManager

NewResourceManager returns a ResourceManager.

func (*ResourceManager) Close

func (manager *ResourceManager) Close() error

Close closes the manager. Don't use the ResourceManager after Close() called.

func (*ResourceManager) GetResource

func (manager *ResourceManager) GetResource(key string, create func() (io.Closer, error)) (io.Closer, error)

GetResource returns the resource associated with given key.

type Row

type Row struct {
	// contains filtered or unexported fields
}

Row 获取记录

func (*Row) ToArray

func (r *Row) ToArray() (result []string, err error)

ToArray get Array

func (*Row) ToInterface

func (r *Row) ToInterface() (result map[string]interface{}, err error)

ToInterface ...

func (*Row) ToMap

func (r *Row) ToMap() (result map[string]string, err error)

ToMap get Map

func (*Row) ToStruct

func (r *Row) ToStruct(st interface{}) error

ToStruct get Struct

type Rows

type Rows struct {
	// contains filtered or unexported fields
}

Rows get data

func (*Rows) ToArray

func (r *Rows) ToArray() (data [][]string, err error)

ToArray get Array

func (*Rows) ToInterface

func (r *Rows) ToInterface() (data []map[string]interface{}, err error)

ToInterface []map[interface{}]interface{}

func (*Rows) ToMap

func (r *Rows) ToMap() (data []map[string]string, err error)

ToMap get Map

func (*Rows) ToStruct

func (r *Rows) ToStruct(st interface{}) error

ToStruct get Struct

type SQL

type SQL struct {
	SQL      string
	Args     []interface{}
	CostTime time.Duration
}

SQL sql语句

func (SQL) ToJSON

func (sql SQL) ToJSON() string

ToJSON sql语句转出json

func (SQL) ToString

func (SQLRaw SQL) ToString() string

ToString sql语句转出string

type SharedCalls

type SharedCalls = SingleFlight

SharedCalls is an alias of SingleFlight. Deprecated: use SingleFlight.

type SingleFlight

type SingleFlight interface {
	Do(key string, fn func() (interface{}, error)) (interface{}, error)
	DoEx(key string, fn func() (interface{}, error)) (interface{}, bool, error)
}

SingleFlight lets the concurrent calls with the same key to share the call result. For example, A called F, before it's done, B called F. Then B would not execute F, and shared the result returned by F which called by A. The calls with the same key are dependent, concurrent calls share the returned values. A ------->calls F with key<------------------->returns val B --------------------->calls F with key------>returns val

func NewSharedCalls

func NewSharedCalls() SingleFlight

NewSharedCalls returns a SingleFlight. Deprecated: use NewSingleFlight.

func NewSingleFlight

func NewSingleFlight() SingleFlight

NewSingleFlight returns a SingleFlight.

type Transaction

type Transaction struct {
	Transaction   *sql.Tx
	SQL           SQL
	DriverName    string
	DisableMetric bool // 关闭指标采集
	DisableTrace  bool // 关闭链路追踪
	Prepare       bool
	DBName        string
	Addr          string
	Func          string // 上个函数调用的函数名称
	Path          string // 上个函数调用的函数位置
}

Transaction 事务

func (*Transaction) Commit

func (query *Transaction) Commit() error

Commit 事务提交

func (*Transaction) Exec

func (query *Transaction) Exec(ctx context.Context, querySQL string, args ...interface{}) (sql.Result, error)

Exec 复用执行语句

func (*Transaction) LastSQL

func (query *Transaction) LastSQL(querySQL string, args ...interface{})

LastSQL ...

func (*Transaction) NewBuilder

func (query *Transaction) NewBuilder(ctx context.Context) *Builder

NewBuilder 生成一个新的查询构造器

func (*Transaction) Query

func (query *Transaction) Query(ctx context.Context, querySQL string, args ...interface{}) (*sql.Rows, error)

Query 复用查询语句

func (*Transaction) Rollback

func (query *Transaction) Rollback() error

Rollback 事务回滚

func (*Transaction) SQLRaw

func (query *Transaction) SQLRaw() string

SQLRaw ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL