Documentation
¶
Index ¶
- Variables
- type BatchCreateDataFun
- type CacheProvider
- func (c *CacheProvider) BatchDel(key string, items ...string) error
- func (c *CacheProvider) BatchFetch(key string, items []interface{}, dest interface{}, fun BatchCreateDataFun) error
- func (c *CacheProvider) CheckPointer(value reflect.Value) error
- func (c *CacheProvider) Del(key string, item string) error
- func (c *CacheProvider) Fetch(key string, item interface{}, dest interface{}, fun CreateDataFun) error
- type CreateDataFun
- type DB
- type Dao
- func (dao *Dao) BatchFetch(field string, items []interface{}, dest interface{}, fun BatchCreateDataFun) error
- 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) DeleteByColumns(kvs *MultiKV) (int64, error)
- func (dao *Dao) DeleteByID(id interface{}) (bool, error)
- func (dao *Dao) DeleteCache(field string, values ...interface{}) error
- func (dao *Dao) Fetch(field string, item string, dest interface{}, fun CreateDataFun) error
- func (dao *Dao) GetByColumn(kv *KV, dest Model) (bool, error)
- func (dao *Dao) GetByColumnCache(kv *KV, dest Model) (bool, error)
- func (dao *Dao) GetByID(id interface{}, dest Model) (bool, error)
- func (dao *Dao) GetByIDCache(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) List(kv *KV, dest interface{}) error
- func (dao *Dao) ListByColumns(kvs *MultiKV, dest interface{}) error
- func (dao *Dao) ListByIDs(dest interface{}, ids ...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) TableName() string
- func (dao *Dao) Update(m Model) (bool, error)
- func (dao *Dao) UpdateField(idValue interface{}, fieldMap map[string]interface{}) (bool, error)
- type KV
- type Model
- type MultiKV
- type Option
- type SliceToMapFun
- type TableMeta
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrUpdatePrimaryKeyRequire = errors.New("[daox] Primary key require for update")
)
Functions ¶
This section is empty.
Types ¶
type BatchCreateDataFun ¶
type BatchCreateDataFun func(missItems []interface{}) (map[interface{}]interface{}, error)
type CacheProvider ¶
type CacheProvider struct {
RedisClient *redis.Client
Version string
KeyPrefix string
ExpireTime time.Duration // 缓存时长
}
func NewCacheProvider ¶
func (*CacheProvider) BatchDel ¶
func (c *CacheProvider) BatchDel(key string, items ...string) error
func (*CacheProvider) BatchFetch ¶
func (c *CacheProvider) BatchFetch(key string, items []interface{}, dest interface{}, fun BatchCreateDataFun) error
BatchFetch dest: must a slice fun: to create miss data
func (*CacheProvider) CheckPointer ¶
func (c *CacheProvider) CheckPointer(value reflect.Value) error
func (*CacheProvider) Fetch ¶
func (c *CacheProvider) Fetch(key string, item interface{}, dest interface{}, fun CreateDataFun) error
Fetch invalidStale 当缓存过期时,是否使用旧值
type CreateDataFun ¶
type CreateDataFun func() (interface{}, error)
type Dao ¶
type Dao struct {
DBMaster *DB
DBRead *DB
TableMeta *TableMeta
CacheProvider *CacheProvider
}
func (*Dao) BatchFetch ¶
func (dao *Dao) BatchFetch(field string, items []interface{}, dest interface{}, fun BatchCreateDataFun) error
BatchFetch 注意不会按 items 顺序返回
func (*Dao) BatchReplaceInto ¶
BatchReplaceInto 批量新增,使用 replace into 方式 omitColumns 不需要 insert 的字段
func (*Dao) DeleteByID ¶
func (*Dao) DeleteCache ¶
func (*Dao) Fetch ¶
func (dao *Dao) Fetch(field string, item string, dest interface{}, fun CreateDataFun) error
Fetch query one row
func (*Dao) GetByColumn ¶
GetByColumn get one row bool: exist or not
func (*Dao) GetColumnsByModel ¶
func (*Dao) GetColumnsByType ¶
GetColumnsByType 通过字段 tag 解析数据库字段
func (*Dao) ListByColumns ¶
func (*Dao) ReplaceInto ¶
ReplaceInto omitColumns 不需要 insert 的字段
func (*Dao) SQLBuilder ¶
func (dao *Dao) SQLBuilder() *sqlbuilder.Builder
type Option ¶
type Option func(*Dao)
func IsAutoIncrement ¶
func IsAutoIncrement() Option
func WithCacheExpireTime ¶
func WithCacheVersion ¶
func WithDBRead ¶
type SliceToMapFun ¶
Click to show internal directories.
Click to hide internal directories.