Documentation
¶
Overview ¶
* * @Author: TheLife * @Date: 2021/5/26 下午11:21
* * @Author: TheLife * @Date: 2021/5/27 下午5:08
* * @Author: TheLife * @Date: 2021/5/26 下午5:01
* * @Author: TheLife * @Date: 2021/6/23 下午9:37
* * @Author: TheLife * @Date: 2021/5/27 下午4:34
Index ¶
- func FormatColumn(column string) (res string)
- func If(isA bool, a, b interface{}) interface{}
- func UpdateArithmetic(column string, value interface{}, art ArithmeticType) (m map[string]interface{})
- type Allow
- type ArithmeticType
- type CompareType
- type DbUtils
- func (d *DbUtils) Allow(param Param, allow Allow) *DbUtils
- func (d *DbUtils) CrudAll(model interface{}, callListData interface{}) (err error)
- func (d *DbUtils) CrudAllPage(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
- func (d *DbUtils) CrudAllPagePreloadAll(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
- func (d *DbUtils) CrudAllPagePreloadJoin(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
- func (d *DbUtils) CrudAllPreloadAll(model interface{}, callListData interface{}) (err error)
- func (d *DbUtils) CrudAllPreloadJoin(model interface{}, callListData interface{}) (err error)
- func (d *DbUtils) CrudCount(model interface{}) (count int64, err error)
- func (d *DbUtils) CrudDelete(model interface{}) (err error)
- func (d *DbUtils) CrudOne(model interface{}, callData interface{}) (err error)
- func (d *DbUtils) CrudOnePreloadAll(model interface{}, callData interface{}) (err error)
- func (d *DbUtils) CrudOnePreloadJoin(model interface{}, callData interface{}) (err error)
- func (d *DbUtils) CrudSum(model interface{}, column string) (sum float32, err error)
- func (d *DbUtils) CrudUpdate(model interface{}, updates ...interface{}) (err error)
- func (d *DbUtils) IsExists(model interface{}) bool
- func (d *DbUtils) OrderByColumn(column string, order OrderType, many ...bool) *DbUtils
- func (d *DbUtils) PreloadAll() *DbUtils
- func (d *DbUtils) PreloadJoin(model interface{}) *DbUtils
- func (d *DbUtils) WhereCompare(column string, value interface{}, compare ...CompareType) *DbUtils
- func (d *DbUtils) WhereIn(column string, value interface{}, isNot ...bool) *DbUtils
- func (d *DbUtils) WhereLike(column string, value interface{}) *DbUtils
- func (d *DbUtils) WhereRange(column string, start interface{}, end interface{}) *DbUtils
- type M
- type OrderType
- type Page
- type PageParam
- type PageResult
- type Param
- type Params
- type Sort
- type TimeFieldsModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UpdateArithmetic ¶
func UpdateArithmetic(column string, value interface{}, art ArithmeticType) (m map[string]interface{})
field = field ArithmeticType Number # field = field + 1
Types ¶
type Allow ¶
type Allow struct {
// where
Where []string
Range []string
In []string
Like []string
// order
Sorts []string
}
func (*Allow) AllowParams ¶
allowParams
type ArithmeticType ¶
type ArithmeticType string
=== update ===
const ( ArithmeticIncrease ArithmeticType = "+" ArithmeticReduce ArithmeticType = "-" ArithmeticMultiply ArithmeticType = "*" ArithmeticExcept ArithmeticType = "/" )
type CompareType ¶
type CompareType string
const ( CompareEqual CompareType = "=" CompareAboutEqual CompareType = ">=" CompareAbout CompareType = ">" CompareLessEqual CompareType = "<=" CompareLess CompareType = "<" )
type DbUtils ¶
func NewInstance ¶
func (*DbUtils) CrudAllPage ¶
func (d *DbUtils) CrudAllPage(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
func (*DbUtils) CrudAllPagePreloadAll ¶
func (d *DbUtils) CrudAllPagePreloadAll(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
func (*DbUtils) CrudAllPagePreloadJoin ¶
func (d *DbUtils) CrudAllPagePreloadJoin(model interface{}, callListData interface{}, page ...Page) (pageResult PageResult, err error)
func (*DbUtils) CrudAllPreloadAll ¶
func (*DbUtils) CrudAllPreloadJoin ¶
func (*DbUtils) CrudDelete ¶
func (*DbUtils) CrudOnePreloadAll ¶
func (*DbUtils) CrudOnePreloadJoin ¶
func (*DbUtils) CrudUpdate ¶
updates support M(or map[string]interface{}) and struct support gorm.Db.Select() and gorm.Db.Omit() TODO: struct only update non-zero fields
func (*DbUtils) OrderByColumn ¶
func (*DbUtils) PreloadAll ¶
=== SELECT === TODO:Multiple SQL, gorm bonding data, so query conditions other than the main table are not supported
func (*DbUtils) PreloadJoin ¶
TODO:Single SQL, mysql bonding data, so the conditions of all query tables are supported. use Join you need to pay attention to performance
func (*DbUtils) WhereCompare ¶
func (d *DbUtils) WhereCompare(column string, value interface{}, compare ...CompareType) *DbUtils
column CompareEqual ? # column = ?
func (*DbUtils) WhereRange ¶
column >= start ANd column <= end
type Page ¶
type Page struct {
Current int `json:"current" form:"current"`
PageSize int `json:"page_size" form:"page_size"`
}
页
type Param ¶
type Param struct {
Params Params `form:"params" json:"params"`
Sort Sort `form:"sort" json:"sort" binding:"omitempty,eq=1,dive,keys,required,endkeys,eq=ascend|eq=descend"`
}
筛选、排序参数
type TimeFieldsModel ¶
type TimeFieldsModel struct {
// 13位毫秒时间戳
CreatedAt int64 `gorm:"autoCreateTime:milli;type:bigint(13);unsigned;comment:创建时间" json:"created_at"`
// 13位毫秒时间戳,兼容用户一秒内多次点击
UpdatedAt int64 `gorm:"autoUpdateTime:milli;type:bigint(13);unsigned;comment:修改时间" json:"updated_at"`
// 软删除,默认为0,删除时设置当前10位秒数时间戳
DeletedAt soft_delete.DeletedAt `gorm:"type:bigint(13);unsigned;comment:删除时间" json:"deleted_at"`
}