Documentation ¶
Index ¶
- Constants
- Variables
- func BindDriver(driverName string, bindType int)
- func BindNamed(bindType int, query string, arg interface{}) (string, []interface{}, error)
- func BindType(driverName string) int
- func ExecNContext(ctx context.Context, e ExtContext, query string, arg interface{}) (sql.Result, error)
- func ExecPanic(e IExecute, query string, args ...interface{}) sql.Result
- func ExecPanicCtx(ctx context.Context, e IExecuteContext, query string, args ...interface{}) sql.Result
- func In(query string, args ...interface{}) (string, []interface{}, error)
- func LoadFile(e IExecute, path string) (*sql.Result, error)
- func LoadFileContext(ctx context.Context, e IExecuteContext, path string) (*sql.Result, error)
- func MapScan(r ColScanner, dest map[string]interface{}) error
- func Named(query string, arg interface{}) (string, []interface{}, error)
- func NamedExec(e Ext, query string, arg interface{}) (sql.Result, error)
- func Rebind(bindType int, query string) string
- func Select(q IQuery, pointer interface{}, querySql string, args ...interface{}) error
- func SelectCtx(ctx context.Context, q IQueryContext, pointer interface{}, querySql string, ...) error
- func SliceScan(r ColScanner) ([]interface{}, error)
- func StructScan(rows IRow, dest interface{}) error
- func Take(q IQuery, pointer interface{}, querySql string, args ...interface{}) error
- func TakeCtx(ctx context.Context, q IQueryContext, pointer interface{}, query string, ...) error
- type ColScanner
- type Conn
- func (c *Conn) BeginTxX(ctx context.Context, opts *sql.TxOptions) (*Tx, error)
- func (c *Conn) PrepareXCtx(ctx context.Context, query string) (*Stmt, error)
- func (c *Conn) QueryRowXCtx(ctx context.Context, query string, args ...interface{}) *Row
- func (c *Conn) QueryXCtx(ctx context.Context, query string, args ...interface{}) (*Rows, error)
- func (c *Conn) Rebind(query string) string
- func (c *Conn) SelectCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (c *Conn) TakeCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- type DB
- func (db *DB) BeginPanic() *Tx
- func (db *DB) BeginPanicTx(ctx context.Context, opts *sql.TxOptions) *Tx
- func (db *DB) BeginTxx(ctx context.Context, opts *sql.TxOptions) (*Tx, error)
- func (db *DB) BeginX() (*Tx, error)
- func (db *DB) BindNamed(query string, arg interface{}) (string, []interface{}, error)
- func (db *DB) ConnX(ctx context.Context) (*Conn, error)
- func (db *DB) DriverName() string
- func (db *DB) ExecN(query string, arg interface{}) (sql.Result, error)
- func (db *DB) ExecNCtx(ctx context.Context, query string, arg interface{}) (sql.Result, error)
- func (db *DB) ExecPanic(query string, args ...interface{}) sql.Result
- func (db *DB) ExecPanicCtx(ctx context.Context, query string, args ...interface{}) sql.Result
- func (db *DB) MapperFunc(mf func(string) string)
- func (db *DB) PrepareN(query string) (*StmtN, error)
- func (db *DB) PrepareNCtx(ctx context.Context, query string) (*StmtN, error)
- func (db *DB) PrepareX(query string) (*Stmt, error)
- func (db *DB) PrepareXCtx(ctx context.Context, query string) (*Stmt, error)
- func (db *DB) QueryN(query string, arg interface{}) (*Rows, error)
- func (db *DB) QueryNCtx(ctx context.Context, query string, arg interface{}) (*Rows, error)
- func (db *DB) QueryRowX(query string, args ...interface{}) *Row
- func (db *DB) QueryRowXCtx(ctx context.Context, query string, args ...interface{}) *Row
- func (db *DB) QueryX(query string, args ...interface{}) (*Rows, error)
- func (db *DB) QueryXCtx(ctx context.Context, query string, args ...interface{}) (*Rows, error)
- func (db *DB) Rebind(query string) string
- func (db *DB) Select(pointer interface{}, querySql string, args ...interface{}) error
- func (db *DB) SelectCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (db *DB) Take(pointer interface{}, querySql string, args ...interface{}) error
- func (db *DB) TakeCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (db *DB) Unsafe() *DB
- type Ext
- type ExtContext
- type IBind
- type IExecute
- type IExecuteContext
- type IPrepare
- type IPrepareContext
- type IQuery
- type IQueryContext
- type IRow
- type ISql
- type ModelTime
- type Moments
- type Photos
- type Row
- type Rows
- type Stmt
- func (s *Stmt) ExecPanic(args ...interface{}) sql.Result
- func (s *Stmt) ExecPanicCtx(ctx context.Context, args ...interface{}) sql.Result
- func (s *Stmt) QueryRowX(args ...interface{}) *Row
- func (s *Stmt) QueryRowXCtx(ctx context.Context, args ...interface{}) *Row
- func (s *Stmt) QueryX(args ...interface{}) (*Rows, error)
- func (s *Stmt) QueryXCtx(ctx context.Context, args ...interface{}) (*Rows, error)
- func (s *Stmt) Select(pointer interface{}, args ...interface{}) error
- func (s *Stmt) SelectCtx(ctx context.Context, dest interface{}, args ...interface{}) error
- func (s *Stmt) Take(pointer interface{}, args ...interface{}) error
- func (s *Stmt) TakeCtx(ctx context.Context, dest interface{}, args ...interface{}) error
- func (s *Stmt) Unsafe() *Stmt
- type StmtN
- func (n *StmtN) Close() error
- func (n *StmtN) Exec(arg interface{}) (sql.Result, error)
- func (n *StmtN) ExecCtx(ctx context.Context, arg interface{}) (sql.Result, error)
- func (n *StmtN) ExecPanic(arg interface{}) sql.Result
- func (n *StmtN) ExecPanicCtx(ctx context.Context, arg interface{}) sql.Result
- func (n *StmtN) Query(arg interface{}) (*sql.Rows, error)
- func (n *StmtN) QueryCtx(ctx context.Context, arg interface{}) (*sql.Rows, error)
- func (n *StmtN) QueryRow(arg interface{}) *Row
- func (n *StmtN) QueryRowCtx(ctx context.Context, arg interface{}) *Row
- func (n *StmtN) QueryRowX(arg interface{}) *Row
- func (n *StmtN) QueryRowXCtx(ctx context.Context, arg interface{}) *Row
- func (n *StmtN) QueryX(arg interface{}) (*Rows, error)
- func (n *StmtN) QueryXCtx(ctx context.Context, arg interface{}) (*Rows, error)
- func (n *StmtN) Select(pointer interface{}, arg interface{}) error
- func (n *StmtN) SelectCtx(ctx context.Context, dest interface{}, arg interface{}) error
- func (n *StmtN) Take(pointer interface{}, arg interface{}) error
- func (n *StmtN) TakeCtx(ctx context.Context, dest interface{}, arg interface{}) error
- func (n *StmtN) Unsafe() *StmtN
- type Tx
- func (tx *Tx) BindNamed(query string, arg interface{}) (string, []interface{}, error)
- func (tx *Tx) DriverName() string
- func (tx *Tx) ExecN(query string, arg interface{}) (sql.Result, error)
- func (tx *Tx) ExecNCtx(ctx context.Context, query string, arg interface{}) (sql.Result, error)
- func (tx *Tx) ExecPanic(query string, args ...interface{}) sql.Result
- func (tx *Tx) ExecPanicCtx(ctx context.Context, query string, args ...interface{}) sql.Result
- func (tx *Tx) PrepareN(query string) (*StmtN, error)
- func (tx *Tx) PrepareNCtx(ctx context.Context, query string) (*StmtN, error)
- func (tx *Tx) PrepareX(query string) (*Stmt, error)
- func (tx *Tx) PrepareXCtx(ctx context.Context, query string) (*Stmt, error)
- func (tx *Tx) QueryN(query string, arg interface{}) (*Rows, error)
- func (tx *Tx) QueryRowX(query string, args ...interface{}) *Row
- func (tx *Tx) QueryRowXCtx(ctx context.Context, query string, args ...interface{}) *Row
- func (tx *Tx) QueryX(query string, args ...interface{}) (*Rows, error)
- func (tx *Tx) QueryXCtx(ctx context.Context, query string, args ...interface{}) (*Rows, error)
- func (tx *Tx) Rebind(query string) string
- func (tx *Tx) Select(pointer interface{}, query string, args ...interface{}) error
- func (tx *Tx) SelectCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (tx *Tx) StmtN(stmt *StmtN) *StmtN
- func (tx *Tx) StmtNCtx(ctx context.Context, stmt *StmtN) *StmtN
- func (tx *Tx) StmtX(stmt interface{}) *Stmt
- func (tx *Tx) StmtXCtx(ctx context.Context, stmt interface{}) *Stmt
- func (tx *Tx) Take(pointer interface{}, query string, args ...interface{}) error
- func (tx *Tx) TakeCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
- func (tx *Tx) Unsafe() *Tx
- type Users
Constants ¶
const ( Unknown = iota Question Dollar NAMED AT )
Rebind,BindMap 和 BindStruct 支持的BindVar类型。
Variables ¶
var (
NameMapper = strings.ToLower
)
Functions ¶
func BindDriver ¶
BindDriver sets the BindType for driverName to bindType.
func BindNamed ¶
BindNamed binds a struct or a map to a query with named parameters. DEPRECATED: use sqlx.Named` instead of this, it may be removed in future.
func ExecNContext ¶
func ExecNContext(ctx context.Context, e ExtContext, query string, arg interface{}) (sql.Result, error)
NamedExecContext uses BindStruct to get a query executable by the driver and then runs Exec on the result. Returns an error from the binding or the query execution itself.
func ExecPanicCtx ¶
func ExecPanicCtx(ctx context.Context, e IExecuteContext, query string, args ...interface{}) sql.Result
ExecPanicCtx (原MustExecContext)execs the query using e and panics if there was an error. Any placeholder parameters are replaced with supplied args.
func In ¶
In expands slice values in args, returning the modified query string and a new arg list that can be executed by a database. The `query` should use the `?` bindVar. The return value uses the `?` bindVar.
func LoadFile ¶
LoadFile exec's every statement in a file (as a single call to Exec). LoadFile may return a nil *sql.Result if errors are encountered locating or reading the file at path. LoadFile reads the entire file into memory, so it is not suitable for loading large data dumps, but can be useful for initializing schemas or loading indexes.
FIXME: this does not really work with multi-statement files for mattn/go-sqlite3 or the go-mysql-driver/mysql drivers; pq seems to be an exception here. Detecting this by requiring something with DriverName() and then attempting to split the queries will be difficult to get right, and its current driver-specific behavior is deemed at least not complex in its incorrectness.
func LoadFileContext ¶
LoadFileContext exec's every statement in a file (as a single call to Exec). LoadFileContext may return a nil *sql.Result if errors are encountered locating or reading the file at path. LoadFile reads the entire file into memory, so it is not suitable for loading large data dumps, but can be useful for initializing schemas or loading indexes.
FIXME: this does not really work with multi-statement files for mattn/go-sqlite3 or the go-mysql-driver/mysql drivers; pq seems to be an exception here. Detecting this by requiring something with DriverName() and then attempting to split the queries will be difficult to get right, and its current driver-specific behavior is deemed at least not complex in its incorrectness.
func MapScan ¶
func MapScan(r ColScanner, dest map[string]interface{}) error
MapScan scans a single Row into the dest map[string]interface{}. Use this to get results for SQL that might not be under your control (for instance, if you're building an interface for an SQL server that executes SQL from input). Please do not use this as a primary interface! This will modify the map sent to it in place, so reuse the same map with care. Columns which occur more than once in the result will overwrite each other!
func Named ¶
Named takes a query using named parameters and an argument and returns a new query with a list of args that can be executed by a database. The return value uses the `?` bindvar.
func NamedExec ¶
NamedExec uses BindStruct to get a query executable by the driver and then runs Exec on the result. Returns an error from the binding or the query execution itself.
func Select ¶
Select 使用提供的查询器查询多条数据,并将结果扫描进<pointer>中。参数<pointer>必须是切片(slice)类型。
如果<pointer>中的元素是可扫描的,则结果集必须只有一列。否则,将使用StructScan。 默认sql.Rows自动关闭。<querySql>是SQL查询语句。
func SelectCtx ¶
func SelectCtx(ctx context.Context, q IQueryContext, pointer interface{}, querySql string, args ...interface{}) error
SelectCtx (原SelectContext) 使用提供的查询器查询多条数据,并将结果扫描进<pointer>中。参数<pointer>必须是切片(slice)类型。
1、如果<pointer>中的元素是可扫描的,则结果集必须只有一列。否则,将使用StructScan。 2、<querySql>是查询类的SQL语句,<args>是该SQL语句需要的参数。 3、默认sql.Rows自动关闭。任何占位符参数都将替换为提供的args。
func SliceScan ¶
func SliceScan(r ColScanner) ([]interface{}, error)
SliceScan a row, returning a []interface{} with values similar to MapScan. This function is primarily intended for use where the number of columns is not known. Because you can pass an []interface{} directly to Scan, it's recommended that you do that as it will not have to allocate new slices per row.
func StructScan ¶
StructScan all rows from an sql.Rows or an sqlx.Rows into the dest slice. StructScan will scan in the entire rows result, so if you do not want to allocate structs for the entire result, use Queryx and see sqlx.Rows.StructScan. If rows is sqlx.Rows, it will use its mapper, otherwise it will use the default.
func Take ¶
Take (原Get) 使用提供的查询器,查询一条记录,并将结果扫描进<pointer>中。参数<pointer>可以是 struct/*struct。
如果<pointer>是可扫描的,则结果必须只有一列。否则,将使用StructScan。 如果结果集为空,将返回像row.Scan一样的sql.ErrNoRows。
func TakeCtx ¶
func TakeCtx(ctx context.Context, q IQueryContext, pointer interface{}, query string, args ...interface{}) error
TakeCtx (原GetContext) 使用提供的查询器执行QueryRow,然后将结果行扫描到<pointer>。
1、如果<pointer>是可扫描的,则结果必须只有一列,否则,将使用StructScan。 2、如果结果集为空 将像row.Scan一样返回sql.ErrNoRows。 3、<querySql>是查询类的SQL语句,<args>是该SQL语句需要的参数。
Types ¶
type ColScanner ¶
type ColScanner interface { Columns() ([]string, error) Err() error // contains filtered or unexported methods }
ColScanner 是MapScan和SliceScan使用的接口。
type Conn ¶
Conn 是对 sql.Conn 的扩展。
func (*Conn) BeginTxX ¶
BeginTxX begins a transaction and returns an *sqlx.Tx instead of an *sql.Tx.
The provided context is used until the transaction is committed or rolled back. If the context is canceled, the sql package will roll back the transaction. Tx.Commit will return an error if the context provided to BeginxContext is canceled.
func (*Conn) PrepareXCtx ¶
PrepareXCtx (原PrepareXContext) returns an sqlx.Stmt instead of a sql.Stmt. The provided context is used for the preparation of the statement, not for the execution of the statement.
func (*Conn) QueryRowXCtx ¶
QueryRowxContext queries the database and returns an *sqlx.Row. Any placeholder parameters are replaced with supplied args.
func (*Conn) QueryXCtx ¶
QueryxContext queries the database and returns an *sqlx.Rows. Any placeholder parameters are replaced with supplied args.
type DB ¶
DB 是 sql.DB 的包装,在打开时跟踪driverName,通常用于使用正确的 bindVars 自动绑定命名查询。
func ConnectCtx ¶
ConnectCtx (原ConnectContext) 传入 context.Context,连接到数据库并通过ping进行验证。
func NewDB ¶
NewDB 输入一个 *sql.DB 和 数据库驱动,返回一个 *sqlx.DB实例。
这是 sqlx.DB 的构造函数。 原始数据库的driverName是命名查询支持所必需的。
func (*DB) BeginPanic ¶
MustBegin starts a transaction, and panics on error. Returns an *sqlx.Tx instead of an *sql.Tx.
func (*DB) BeginTxx ¶
BeginTxx begins a transaction and returns an *sqlx.Tx instead of an *sql.Tx.
The provided context is used until the transaction is committed or rolled back. If the context is canceled, the sql package will roll back the transaction. Tx.Commit will return an error if the context provided to BeginxContext is canceled.
func (*DB) ExecN ¶
NamedExec using this DB. Any named placeholder parameters are replaced with fields from arg.
func (*DB) ExecNCtx ¶
NamedExecContext using this DB. Any named placeholder parameters are replaced with fields from arg.
func (*DB) ExecPanic ¶
MustExec (panic) runs MustExec using this database. Any placeholder parameters are replaced with supplied args.
func (*DB) ExecPanicCtx ¶
MustExecContext (panic) runs MustExec using this database. Any placeholder parameters are replaced with supplied args.
func (*DB) MapperFunc ¶
MapperFunc 使用默认的 sqlx.struct 标记和提供的 mapper 函数为此数据库设置一个新的 mapper。
func (*DB) PrepareNCtx ¶
PrepareNamedContext returns an sqlx.NamedStmt
func (*DB) PrepareXCtx ¶
func (*DB) QueryN ¶
NamedQuery using this DB. Any named placeholder parameters are replaced with fields from arg.
func (*DB) QueryNCtx ¶
NamedQueryContext using this DB. Any named placeholder parameters are replaced with fields from arg.
func (*DB) QueryRowXCtx ¶
QueryRowxContext queries the database and returns an *sqlx.Row. Any placeholder parameters are replaced with supplied args.
func (*DB) QueryXCtx ¶
QueryxContext queries the database and returns an *sqlx.Rows. Any placeholder parameters are replaced with supplied args.
func (*DB) Select ¶
Select 查询多条数据,并将结果扫描进<pointer>中。参数<pointer>必须是切片(slice)类型。
<querySql>是查询SQL语句,<args>是查询SQL语句需要的参数。 任何占位符参数都将替换为提供的args。
func (*DB) SelectCtx ¶
func (db *DB) SelectCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
SelectContext using this DB. Any placeholder parameters are replaced with supplied args.
func (*DB) Take ¶
Take 查询任意一条数据,并将结果扫描进<pointer>中。参数<pointer>可以是 struct/*struct。
<querySql>是查询SQL语句,<args>是查询SQL语句需要的参数。 任何占位符参数都将替换为提供的args。如果结果集为空,则返回错误。
type ExtContext ¶
type ExtContext interface { IBind IQueryContext IExecuteContext }
ExtContext 是一个联合接口,可以与NamedQueryContext和NamedExecContext使用的Context绑定,查询和执行。
type IBind ¶
type IBind interface { DriverName() string Rebind(string) string BindNamed(string, interface{}) (string, []interface{}, error) }
IBind 是可以绑定查询(Tx,DB)的接口。
type IExecuteContext ¶
type IExecuteContext interface {
ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
}
IExecuteContext 是 MustExecContext 和 LoadFileContext 使用的接口
type IPrepareContext ¶
type IPrepareContext interface {
PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
}
IPrepareContext 是 PreparexContext 使用的接口。
type IQuery ¶
type IQuery interface { Query(query string, args ...interface{}) (*sql.Rows, error) QueryX(query string, args ...interface{}) (*Rows, error) QueryRowX(query string, args ...interface{}) *Row }
IQuery 查询操作的接口。// 仅由 *qStmt实现了这个接口
type IQueryContext ¶
type IQueryContext interface { QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) QueryXCtx(ctx context.Context, query string, args ...interface{}) (*Rows, error) QueryRowXCtx(ctx context.Context, query string, args ...interface{}) *Row }
IQueryContext 是 GetContext 和 SelectContext 使用的接口
type IRow ¶
type IRow interface { Columns() ([]string, error) Scan(...interface{}) error Err() error Next() bool Close() error }
IRow 是 ColScanner 和 io.Closer 的联合接口。
type ISql ¶
type ISql interface { // Query 参数<querySql>是查询类的SQL语句,<args>是SQL语句的参数。 QueryX(querySql string, args ...interface{}) (*Rows, error) // QueryRow 参数<querySql>是查询类的SQL语句,<args>是SQL语句的参数。 QueryRowX(querySql string, args ...interface{}) *Row // Exec 增、删、改操作的接口。 // 参数<querySql>是查询类的SQL语句,<args>是SQL语句的参数。 Exec(querySql string, args ...interface{}) (sql.Result, error) // Take 查询一条记录,并将结果扫描进 <pointer> // 参数<pointer>可以是struct/*struct。 // 参数<querySql>是查询类的SQL语句,<args>是SQL语句的参数。 Take(pointer interface{}, querySql string, args ...interface{}) error // Select 查询多条记录,并将查询结果扫描进 <pointer> // 参数<pointer>可以是[]struct/*[]struct。 // 参数<querySql>是查询类的SQL语句,<args>是SQL语句的参数。 Select(pointer interface{}, querySql string, args ...interface{}) error PrepareX(query string) (*Stmt, error) // Rebind 绑定 querySql 语句。 Rebind(querySql string) string // DriverName 获取当前处于连接状态的 *sql.DB 的驱动名称。 DriverName() string }
ISql 为对外暴露的主要接口,该接口由 Engine 实现。
type Moments ¶ added in v1.3.3
type Moments struct { Id int `form:"id" json:"id" db:"id"` UserId int `form:"user_id" json:"user_id" db:"user_id"` Content string `form:"content" json:"content" db:"content"` CommentTotal int `form:"comment_total" json:"comment_total" db:"comment_total"` LikeTotal int `form:"like_total" json:"like_total" db:"like_total"` Status int `form:"status" json:"status" db:"status"` ModelTime }
type Row ¶
Row 是对 sql.Row 的重新实现,以便获得对 StructScan 必需的基础 sql.Rows.Columns() 数据的访问。
func (*Row) ColumnTypes ¶
func (r *Row) ColumnTypes() ([]*sql.ColumnType, error)
ColumnTypes returns the underlying sql.Rows.ColumnTypes(), or the deferred error
type Rows ¶
Rows 是对 sql.Rows 的扩展
func NamedQuery ¶
NamedQuery binds a named query and then runs Query on the result using the provided Ext (sqlx.Tx, sqlx.Db). It works with both structs and with map[string]interface{} types.
func QueryNContext ¶
NamedQueryContext binds a named query and then runs Query on the result using the provided Ext (sqlx.Tx, sqlx.Db). It works with both structs and with map[string]interface{} types.
func (*Rows) ScanX ¶ added in v1.3.3
ScanX (原StructScan) 类似于 sql.Rows.Scan,但是是将单个Row扫描到单个Struct中。
使用此方法,并在Select() 的内存负载可能过高的情况下,手动遍历Rows。 Rows.StructScan缓存将列位置匹配到字段的反射工作,以避免每次扫描的开销。 这意味着在具有不同结构类型的同一Rows实例上运行StructScan是不安全的。 参数<pointer>如果为 nil,则底层直接调用 SliceScan(),将返回: []interface{},error。 参数<pointer>如果是 map[string]interface{}类型,则底层直接调用 MapScan(),将返回: nil,error。 参数<pointer>如果是结构体,则它只能是结构体的指针类型。
type Stmt ¶
Stmt 是 sql.Stmt 的扩展。
func PrepareXCtx ¶
PrepareXCtx (原PrepareXContext)prepares a statement. The provided context is used for the preparation of the statement, not for the execution of the statement.
func (*Stmt) ExecPanic ¶
ExecPanic 原(MustExec) (panic) using this statement.
请注意,错误输出的查询部分将为空白,因为Stmt不会公开其查询。 任何占位符参数都将替换为提供的args。
func (*Stmt) ExecPanicCtx ¶
ExecPanicCtx (原MustExecContext)(panic) using this statement. Note that the query portion of the error output will be blank, as Stmt does not expose its query. Any placeholder parameters are replaced with supplied args.
func (*Stmt) QueryRowXCtx ¶
QueryRowXCtx(原QueryRowXContext) using this statement. Any placeholder parameters are replaced with supplied args.
func (*Stmt) Select ¶
Select 查询多行记录,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的args。
func (*Stmt) SelectCtx ¶
SelectCtx (原SelectContext)using the prepared statement. Any placeholder parameters are replaced with supplied args.
func (*Stmt) Take ¶
Take (原Get) 查询一条记录,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的args。如果结果集为空,则返回错误。
type StmtN ¶
StmtN (原NamedStmt) 是执行命名参数查询的预加载语句。
准备如何执行 NamedQuery,但在执行时传入结构体或map。
func (*StmtN) Exec ¶
Exec executes a named statement using the struct passed. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) ExecCtx ¶
ExecContext executes a named statement using the struct passed. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) ExecPanic ¶
ExecPanic (原MustExec) execs a NamedStmt, panicing on error Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) ExecPanicCtx ¶
MustExecContext execs a NamedStmt, panicing on error Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) Query ¶
Query executes a named statement using the struct argument, returning rows. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryCtx ¶
QueryContext executes a named statement using the struct argument, returning rows. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryRow ¶
QueryRow executes a named statement against the database. Because sqlx cannot create a *sql.Row with an error condition pre-set for binding errors, sqlx returns a *sqlx.Row instead. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryRowCtx ¶
QueryRowContext executes a named statement against the database. Because sqlx cannot create a *sql.Row with an error condition pre-set for binding errors, sqlx returns a *sqlx.Row instead. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryRowX ¶
QueryRowX this NamedStmt. Because of limitations with QueryRow, this is an alias for QueryRow. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryRowXCtx ¶
QueryRowxContext this NamedStmt. Because of limitations with QueryRow, this is an alias for QueryRow. Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryX ¶
QueryX using this NamedStmt Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) QueryXCtx ¶
QueryxContext using this NamedStmt Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) Select ¶
Select 查询多行记录,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的args。
func (*StmtN) SelectCtx ¶
SelectContext using this NamedStmt Any named placeholder parameters are replaced with fields from arg.
func (*StmtN) Take ¶
Take (原Get) 查询一条记录,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的args。如果结果集为空,则返回错误。
type Tx ¶
Tx 是对 sql.Tx 的扩展。
func (*Tx) ExecNCtx ¶
NamedExecContext using this Tx. Any named placeholder parameters are replaced with fields from arg.
func (*Tx) ExecPanic ¶
ExecPanic (原MustExec)区别于原生的 Tx.Exec(),如果执行出错,它内部会 panic。
任何占位符参数都将替换为提供的args。
func (*Tx) ExecPanicCtx ¶
MustExecContext runs MustExecContext within a transaction. Any placeholder parameters are replaced with supplied args.
func (*Tx) PrepareNCtx ¶
PrepareNamedContext returns an sqlx.NamedStmt
func (*Tx) PrepareXCtx ¶
PreparexContext returns an sqlx.Stmt instead of a sql.Stmt.
The provided context is used for the preparation of the statement, not for the execution of the statement.
func (*Tx) QueryRowXCtx ¶
QueryRowxContext within a transaction and context. Any placeholder parameters are replaced with supplied args.
func (*Tx) QueryXCtx ¶
QueryxContext within a transaction and context. Any placeholder parameters are replaced with supplied args.
func (*Tx) Select ¶
Select 通过事务查询多条数据,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的args。
func (*Tx) SelectCtx ¶
func (tx *Tx) SelectCtx(ctx context.Context, dest interface{}, query string, args ...interface{}) error
SelectContext within a transaction and context. Any placeholder parameters are replaced with supplied args.
func (*Tx) StmtNCtx ¶
NamedStmtContext returns a version of the prepared statement which runs within a transaction.
func (*Tx) StmtXCtx ¶
StmtxContext returns a version of the prepared statement which runs within a transaction. Provided stmt can be either *sql.Stmt or *sqlx.Stmt.
func (*Tx) Take ¶
Take 通过事务查询任意一条数据,并将结果扫描进<pointer>中,参数<pointer>可以是 struct/*struct。
任何占位符参数都将替换为提供的参数。如果结果集为空,则返回错误。
type Users ¶ added in v1.3.3
type Users struct { Id int `form:"id" json:"id" d:"id"` Name string `form:"name" json:"name" d:"name"` Status int `form:"status" json:"status" d:"status"` SuccessTime sql.NullString `form:"-" json:"success_time" d:"success_time"` CreatedAt time.Time `form:"-" json:"created_at" d:"created_at" time_format:"2006-01-02 15:04:05"` UpdatedAt time.Time `form:"-" json:"updated_at" d:"updated_at" time_format:"2006-01-02 15:04:05"` }