Documentation
¶
Index ¶
- Variables
- type DB
- type Dao
- func (dao *Dao) BatchReplaceInto(models interface{}, omitColumns ...string) (int64, error)
- func (dao *Dao) BatchSave(models interface{}, omitColumns ...string) (int64, error)
- func (dao *Dao) DBColumns(omitColumns ...string) []string
- func (dao *Dao) DeleteByColumn(kv *KV) (int64, error)
- func (dao *Dao) DeleteByColumnTx(tx *sqlx.Tx, kv *KV) (int64, error)
- func (dao *Dao) DeleteByColumns(kvs *MultiKV) (int64, error)
- func (dao *Dao) DeleteByColumnsTx(tx *sqlx.Tx, kvs *MultiKV) (int64, error)
- func (dao *Dao) DeleteByCond(where sqlbuilder.ConditionBuilder) (int64, error)
- func (dao *Dao) DeleteByCondTx(tx *sqlx.Tx, where sqlbuilder.ConditionBuilder) (int64, error)
- func (dao *Dao) DeleteByID(id interface{}) (bool, error)
- func (dao *Dao) DeleteByIDTx(tx *sqlx.Tx, id interface{}) (bool, error)
- func (dao *Dao) Get(dest interface{}, selector *sqlbuilder.Selector) (bool, error)
- func (dao *Dao) GetByColumn(kv *KV, dest Model) (bool, error)
- func (dao *Dao) GetByColumnTx(tx *sqlx.Tx, kv *KV, dest Model) (bool, error)
- func (dao *Dao) GetByID(id interface{}, dest Model) (bool, error)
- func (dao *Dao) GetColumnsByModel(model interface{}, omitColumns ...string) []string
- func (dao *Dao) GetColumnsByType(typ reflect.Type, omitColumns ...string) []string
- func (dao *Dao) GetTx(tx *sqlx.Tx, dest interface{}, selector *sqlbuilder.Selector) (bool, error)
- func (dao *Dao) List(kv *KV, dest interface{}) error
- func (dao *Dao) ListByColumns(kvs *MultiKV, dest interface{}) error
- func (dao *Dao) ListByColumnsTx(tx *sqlx.Tx, kvs *MultiKV, dest interface{}) error
- func (dao *Dao) ListByIDs(dest interface{}, ids ...interface{}) error
- func (dao *Dao) ListByIdsTx(tx *sqlx.Tx, dest interface{}, ids ...interface{}) error
- func (dao *Dao) ListTx(tx *sqlx.Tx, kv *KV, dest interface{}) error
- func (dao *Dao) ReplaceInto(dest Model, omitColumns ...string) (int64, error)
- func (dao *Dao) SQLBuilder() *sqlbuilder.Builder
- func (dao *Dao) Save(dest Model, omitColumns ...string) (int64, error)
- func (dao *Dao) Select(dest interface{}, selector *sqlbuilder.Selector) error
- func (dao *Dao) SelectTx(tx *sqlx.Tx, dest interface{}, selector *sqlbuilder.Selector) error
- func (dao *Dao) Selector(columns ...string) *sqlbuilder.Selector
- func (dao *Dao) TableName() string
- func (dao *Dao) Update(m Model) (bool, error)
- func (dao *Dao) UpdateByCond(attr map[string]interface{}, where sqlbuilder.ConditionBuilder) (int64, error)
- func (dao *Dao) UpdateByCondTx(tx *sqlx.Tx, attr map[string]interface{}, where sqlbuilder.ConditionBuilder) (int64, error)
- func (dao *Dao) UpdateField(idValue interface{}, fieldMap map[string]interface{}) (bool, error)
- func (dao *Dao) UpdateFieldTx(tx *sqlx.Tx, idValue interface{}, fieldMap map[string]interface{}) (bool, error)
- func (dao *Dao) UpdateTx(tx *sqlx.Tx, m Model) (bool, error)
- func (dao *Dao) With(master, read *sqlx.DB, opts ...Option) *Dao
- type KV
- type Model
- type MultiKV
- type Option
- type SliceToMapFun
- type TableMeta
Constants ¶
This section is empty.
Variables ¶
var ( ErrUpdatePrimaryKeyRequire = errors.New("[daox] Primary key require for update") ErrTxNil = errors.New("[daox] Tx is nil") )
Functions ¶
This section is empty.
Types ¶
type Dao ¶
func NewDAO ¶
func NewDAO(master *sqlx.DB, tableName string, primaryKey string, structType reflect.Type, opts ...Option) *Dao
NewDAO 函数用于创建一个新的Dao对象 master 参数用于连接数据库 tableName 参数表示表名 primaryKey 参数表示主键 structType 参数表示数据结构类型 opts 参数表示可选的选项 返回值为创建的Dao对象指针
func (*Dao) BatchReplaceInto ¶
BatchReplaceInto 批量新增,使用 replace into 方式 omitColumns 不需要 insert 的字段
func (*Dao) DeleteByColumn ¶
DeleteByColumn 按字段名删除
func (*Dao) DeleteByColumnTx ¶
DeleteByColumnTx 按字段名删除,支持事务
func (*Dao) DeleteByColumns ¶
DeleteByColumns 指定字段删除多个值
func (*Dao) DeleteByColumnsTx ¶
DeleteByColumnsTx 指定字段多个值删除
func (*Dao) DeleteByCond ¶
func (dao *Dao) DeleteByCond(where sqlbuilder.ConditionBuilder) (int64, error)
DeleteByCond 根据where条件删除
func (*Dao) DeleteByCondTx ¶
func (dao *Dao) DeleteByCondTx(tx *sqlx.Tx, where sqlbuilder.ConditionBuilder) (int64, error)
DeleteByCondTx 根据where条件删除,支持事务
func (*Dao) DeleteByID ¶
DeleteByID 根据id删除数据
func (*Dao) DeleteByIDTx ¶
DeleteByIDTx 根据id删除数据,支持事务
func (*Dao) Get ¶
func (dao *Dao) Get(dest interface{}, selector *sqlbuilder.Selector) (bool, error)
Get 根据查询条件查询单条记录 dest 必须是一个指针
func (*Dao) GetByColumn ¶
GetByColumn 按指定字段查询单条数据 bool 数据是否存在
func (*Dao) GetByColumnTx ¶
GetByColumnTx 按指定字段查询单条数据,支持事务 bool 数据是否存在
func (*Dao) GetColumnsByModel ¶
GetColumnsByModel 根据 model 结构获取数据库字段 omitColumns 表示需要忽略的字段
func (*Dao) GetColumnsByType ¶
GetColumnsByType 通过字段 tag 解析数据库字段
func (*Dao) ListByColumns ¶
ListByColumns 指定字段多个值查询多条数据 dest: slice pointer
func (*Dao) ListByColumnsTx ¶
ListByColumnsTx 指定字段多个值查询多条数据,支持事务
func (*Dao) ListByIdsTx ¶
ListByIdsTx 查询多个id值
func (*Dao) ReplaceInto ¶
ReplaceInto replace into table omitColumns 不需要 insert 的字段
func (*Dao) SQLBuilder ¶
func (dao *Dao) SQLBuilder() *sqlbuilder.Builder
SQLBuilder 创建当前表的 sqlbuilder
func (*Dao) Select ¶
func (dao *Dao) Select(dest interface{}, selector *sqlbuilder.Selector) error
Select 根据查询条件查询列表 dest 必须是一个 slice 指针
func (*Dao) Selector ¶
func (dao *Dao) Selector(columns ...string) *sqlbuilder.Selector
Selector 创建当前表的 selector columns 是查询指定字段,为空则是全部字段
func (*Dao) UpdateByCond ¶
func (dao *Dao) UpdateByCond(attr map[string]interface{}, where sqlbuilder.ConditionBuilder) (int64, error)
UpdateByCond 根据条件更新字段 attr 字段更新值
func (*Dao) UpdateByCondTx ¶
func (dao *Dao) UpdateByCondTx(tx *sqlx.Tx, attr map[string]interface{}, where sqlbuilder.ConditionBuilder) (int64, error)
UpdateByCondTx 根据条件更新字段,支持事务
func (*Dao) UpdateField ¶
UpdateField 部分字段更新
func (*Dao) UpdateFieldTx ¶
func (dao *Dao) UpdateFieldTx(tx *sqlx.Tx, idValue interface{}, fieldMap map[string]interface{}) (bool, error)
UpdateFieldTx 部分字段更新,支持事务
type Option ¶
type Option func(*Dao)
func IsAutoIncrement ¶
func IsAutoIncrement() Option