Documentation
¶
Overview ¶
Package db 提供 mysql 封装
Index ¶
- func GatherMetrics()
- func GetXORM(ctx context.Context, name string) *xorm.Engine
- func IsDuplicateEntryErr(err error) bool
- func IsNoRowsErr(err error) bool
- func Reset()
- func ResetXORM()
- type Conn
- type DB
- func (db *DB) ExecContext(ctx context.Context, query Query, args ...interface{}) (sql.Result, error)
- func (db *DB) ExecTx(ctx context.Context, f TxFunc) error
- func (db *DB) QueryContext(ctx context.Context, query Query, args ...interface{}) (*sql.Rows, error)
- func (db *DB) QueryRowContext(ctx context.Context, query Query, args ...interface{}) *sql.Row
- type Query
- type Tx
- type TxFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsDuplicateEntryErr ¶
IsDuplicateEntryErr 判断是否为唯一键冲突错误
Types ¶
type Conn ¶
type Conn interface { ExecContext(ctx context.Context, query Query, args ...interface{}) (sql.Result, error) QueryContext(ctx context.Context, query Query, args ...interface{}) (*sql.Rows, error) QueryRowContext(ctx context.Context, query Query, args ...interface{}) *sql.Row }
Conn 简单 DB 接口。用于统一非事务和事务业务逻辑
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
DB 对象,有限开放 sql.DB 功能,支持上报 metrics
func Get ¶
Get 根据配置名字创建并返回 DB 连接池对象
DB 配置名字格式为 DB_{$name}_DSN DB 配置内容格式请参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name Get 是并发安全的,可以在多协程下使用
func (*DB) ExecContext ¶
func (db *DB) ExecContext(ctx context.Context, query Query, args ...interface{}) (sql.Result, error)
ExecContext 执行查询,无返回数据
func (*DB) ExecTx ¶
ExecTx 执行一次事务,回调函数返回 err 或者 panic 或者 ctx 取消都会回滚事务。 返回的 err 为 Commit 或者 Rollback 的错误
type Tx ¶
type Tx struct {
// contains filtered or unexported fields
}
Tx 事务对象简单封装
func (*Tx) ExecContext ¶
func (tx *Tx) ExecContext(ctx context.Context, query Query, args ...interface{}) (sql.Result, error)
ExecContext 执行写查询 不鼓励在事务中使用读查询,所以只提供 ExecContext 方法 框架会根据返回错误自动提交或者回滚,所以不提供相应方法
Click to show internal directories.
Click to hide internal directories.