Documentation ¶
Overview ¶
github.com/jmoiron/sqlx CRUD wrapper. DO NOT REPEAT YOURSELF.
Index ¶
- Variables
- type DBW
- type DBWrapper
- func (its *DBWrapper) Create(db *sqlx.DB, m *map[string]interface{}) (result sql.Result, err error)
- func (its *DBWrapper) CreateOrUpdate(db *sqlx.DB, m *map[string]interface{}) (result sql.Result, err error)
- func (its *DBWrapper) Creates(db *sqlx.DB, items *[]map[string]interface{}) (result sql.Result, err error)
- func (its *DBWrapper) Del(db *sqlx.DB, pkName string, m *map[string]interface{}) (err error)
- func (its *DBWrapper) Get(db *sqlx.DB, obj interface{}, columns []string, pkName string, pk interface{}) (err error)
- func (its *DBWrapper) GetColumns(obj interface{}) []string
- func (its *DBWrapper) Gets(db *sqlx.DB, objs interface{}, columns []string, ...) (err error)
- func (its *DBWrapper) GetsWhere(db *sqlx.DB, objs interface{}, columns []string, ...) (err error)
- func (its *DBWrapper) MustOpenDB() (db *sqlx.DB)
- func (its *DBWrapper) OpenDB() (db *sqlx.DB, err error)
- func (its *DBWrapper) RawExec(db *sqlx.DB, s string, args ...interface{}) (result sql.Result, err error)
- func (its *DBWrapper) RawQuery(db *sqlx.DB, objs interface{}, s string, args ...interface{}) (err error)
- func (its *DBWrapper) Search(db *sqlx.DB, objs interface{}, columns []string, ...) (err error)
- func (its *DBWrapper) SearchFullText(db *sqlx.DB, objs interface{}, columns []string, columnsSearch []string, ...) (err error)
- func (its *DBWrapper) Update(db *sqlx.DB, pkName string, changes map[string]interface{}) (result sql.Result, err error)
- func (its *DBWrapper) UpdateWhere(db *sqlx.DB, conditionsWhere []map[string]interface{}, ...) (result sql.Result, err error)
- type JSONB
Constants ¶
This section is empty.
Variables ¶
var ( ErrRecordNotFound = errors.New("record not found") ErrDuplicatedUniqueKey = errors.New("duplicated unique key") )
Functions ¶
This section is empty.
Types ¶
type DBWrapper ¶
func NewDBWrapper ¶
func NewDBWrapper() *DBWrapper
NewDBWrapper setup DSN(data source name) and table, sub-class have to override its.
func (*DBWrapper) CreateOrUpdate ¶
func (its *DBWrapper) CreateOrUpdate(db *sqlx.DB, m *map[string]interface{}) (result sql.Result, err error)
CreateOrUpdate insert record or update record(s)
func (*DBWrapper) Creates ¶
func (its *DBWrapper) Creates(db *sqlx.DB, items *[]map[string]interface{}) (result sql.Result, err error)
Creates insert records in bulk
func (*DBWrapper) Get ¶
func (its *DBWrapper) Get(db *sqlx.DB, obj interface{}, columns []string, pkName string, pk interface{}) (err error)
Get returns one record at most. parameter `obj“ must be pass by `&MyObject{}`.`
func (*DBWrapper) GetColumns ¶
GetColumns returns query columns from tag `db` in strutt.
func (*DBWrapper) Gets ¶
func (its *DBWrapper) Gets( db *sqlx.DB, objs interface{}, columns []string, conditionsWhere *map[string]interface{}, limit int) (err error)
Gets query multiple records with where conditions(operator in condition alawys equals to =). DEPRECATED. See also GetsWhere.
func (*DBWrapper) GetsWhere ¶
func (its *DBWrapper) GetsWhere( db *sqlx.DB, objs interface{}, columns []string, conditionsWhere []map[string]interface{}, limit int) (err error)
GetsWhere query multiple records with where conditions.
func (*DBWrapper) MustOpenDB ¶
func (*DBWrapper) RawExec ¶
func (its *DBWrapper) RawExec(db *sqlx.DB, s string, args ...interface{}) (result sql.Result, err error)
RawExec custom SQL
func (*DBWrapper) RawQuery ¶
func (its *DBWrapper) RawQuery(db *sqlx.DB, objs interface{}, s string, args ...interface{}) (err error)
RawQuery custom SQL
func (*DBWrapper) Search ¶
func (its *DBWrapper) Search( db *sqlx.DB, objs interface{}, columns []string, conditionsWhere *map[string]interface{}, conditionsLike *map[string]interface{}, limit int) (err error)
Search query records with where EQUAL(=) and LIKE conditions, MySQL *ONLY*.
func (*DBWrapper) SearchFullText ¶
func (its *DBWrapper) SearchFullText( db *sqlx.DB, objs interface{}, columns []string, columnsSearch []string, q string, limit int) (err error)
SearchFullText returns query records matched fulltext index. This query required created index likes `alter table mytbl add FULLTEXT ft_search (idx_col_a, idx_col_b, ...) WITH PARSER ngram`. MySQL *ONLY*.