Documentation
¶
Index ¶
- Constants
- Variables
- func BaseColumnNameList(entity Entity) []string
- func CheckRecordKey(entity Entity) bool
- func CreateRecordKey(entity Entity) string
- func CreateRecordKeyByMap(entity Entity, data map[string]interface{}) string
- func EntityAutoKey(entity Entity) bool
- func EntityDbName(entity Entity) string
- func EntityHasCreateDate(entity Entity) bool
- func EntityHasCreator(entity Entity) bool
- func EntityHasDelSign(entity Entity) bool
- func EntityHasIndex(entity Entity) bool
- func EntityHasMemo(entity Entity) bool
- func EntityHasModifiedDate(entity Entity) bool
- func EntityHasModifieder(entity Entity) bool
- func EntityHasOnlyign(entity Entity) bool
- func EntityHasPassword(entity Entity) bool
- func EntityHasPath(entity Entity) bool
- func EntityHasPid(entity Entity) bool
- func EntityHasRecordKey(entity Entity) bool
- func EntityHasSign(entity Entity) bool
- func EntityHasState(entity Entity) bool
- func EntityHasVersion(entity Entity) bool
- func EntityKeyLength(entity Entity) int
- func EntityKeyName(entity Entity) string
- func EntityKeyNames(entity Entity) string
- func EntityKeysLength(entity Entity) map[string]int
- func EntityTableName(entity Entity) string
- func GetVal(entity Entity, name string) interface{}
- func HasColumnName(entity Entity, name string) bool
- func HoldByEntity(entity Entity, data map[string]interface{}) map[string]interface{}
- func SetDefault(entity Entity, cover bool)
- func SetRecordKey(entity Entity) string
- func SetVal(entity Entity, name string, val interface{})
- func SimpleTableName(entity Entity) string
- func ToMap(entity interface{}) map[string]interface{}
- func TrimFields(entity Entity)
- func ValidAttr(data map[string]interface{}, entity Entity, ignoreNames []string) (int, error)
- func ValidAttrByAdd(entity Entity, ignoreNames []string) (int, error)
- func ValidAttrByEdit(data map[string]interface{}, entity Entity, ignoreNames []string) (int, error)
- type DataInfo
- type Entity
- func BaseEntity(entity Entity) Entity
- func GetEntity(name string) Entity
- func MapSetEntity(data map[string]interface{}, entity Entity) Entity
- func MapToEntity(data map[string]interface{}, entity Entity) Entity
- func NewList(entity Entity, iSize int) []Entity
- func RegisterEntity(name string, entity Entity) Entity
- func ToEntity(data map[string]interface{}, entity Entity) (Entity, int, error)
- type FindByPageParam
- type OrderInfo
- type Page
- type TableInfo
- type Time
- type WhereInfo
Constants ¶
View Source
const ( Eq = "=" Lt = "<" Le = "<=" Gt = ">" Ge = ">=" Ne = "<>" Between = "BETWEEN" NotBetween = "NOT BETWEEN" Like = "LIKE" NoLike = "NOT LIKE" IsNull = "IS NULL" IsNotNull = "IS NOT NULL" In = "IN" NotIn = "NOT IN" )
*
- @Description: 查询条件符号
View Source
const SPECIAL_STR = "/INTEGER/STRING/INT/NULL/LONG/FLOAT/DOUBLE/FUNCTION/" // /Integer/string/int/null/long/float/double/function/
要被过滤的特殊字符串,用'/'分隔
Variables ¶
View Source
var ( BaseSystemName string //基本数据库库名 TableMajorKeyString string //数据库表主键名称(字符串形式) TableMajorKeyAutoInt string //数据库表主键名称(自增长形式) TableMajorKeyUuId string //数据库表主键名称(UUID形式) TablePidKey string //数据库表字段名称-上级字段名 TablePathKey string //数据库表字段名称-主键路径名 TableTreeNodeName string //数据库表字段名称-树形节点名 TableCreatorName string //数据库表字段名称-创建人 TableCreateDateName string //数据库表字段名称-创建时间 TableModifiederName string //数据库表字段名称-修改人 TableModifiedDateName string //数据库表字段名称-修改时间 TableStateName string //数据库表字段名称-状态值 TableIndexName string //数据库表字段名称-排序值 TableVersionName string //数据库表字段名称-版本号 TablePasswordName string //数据库表字段名称-密码 TableDelSignName string //数据库表字段名称-逻辑删除标识 TableSetpName string //数据库表字段名称-步骤值 TableOnlyignName string //数据库表字段名称-唯一标识 TableNameDictionary string //字典表表名 TableDictionaryValueName string //字典表值字段名 TableRecordKeyName string //记录验证串字段名 TablesSign string //标识字段名 TablesMemo string //备注字段名 TableTreeRootValue = "00" //数据库树型表根节点默认值 )
Functions ¶
func CreateRecordKey ¶
* 创建记录验证值 * @param entity * @return
func CreateRecordKeyByMap ¶
* 根据结构体创建map的记录验证值 * @param entity 参照结构体,仅用于取结构 * @param data 数据 * @return
func EntityAutoKey ¶
func EntityHasCreateDate ¶
func EntityHasCreator ¶
func EntityHasDelSign ¶
func EntityHasIndex ¶
func EntityHasMemo ¶
func EntityHasModifiedDate ¶
func EntityHasModifieder ¶
func EntityHasOnlyign ¶
func EntityHasPassword ¶
func EntityHasPath ¶
func EntityHasPid ¶
func EntityHasRecordKey ¶
func EntityHasSign ¶
func EntityHasState ¶
func EntityHasVersion ¶
func ToMap ¶
func ToMap(entity interface{}) map[string]interface{}
将结构体的所有属性及其值存入 map[string]interface{}
Types ¶
type DataInfo ¶
type DataInfo struct {
GbDbField bool `json:"bDbField"` //是否数据库字段
GsName string `json:"sName"` //名称
GsDbName string `json:"sDbName"` //所在数据库名称
GsTableName string `json:"sTableName"` //所在数据库表表名称
GsKeyName string `json:"sKeyName"` //表主键名称
GiIndex int `json:"iIndex"` //序号
GiMaxLength int `json:"iMaxLength"` //最大长度
GbNull bool `json:"bNull"` //是否允许为空
Gbkey bool `json:"bkey"` //是否主键
GbExtra bool `json:"bExtra"` //是否自增
GbBigTxt bool `json:"bBigTxt"` //是否大文本字段
GsDefaultData string `json:"sDefaultData"` //默认值
GoDefaultData interface{} `json:"oDefaultData"` //默认值
GsComment string `json:"sComment"` //字段备注
GbDecimal bool `json:"bDecimal"` //类型是否有小数
GiIntegralLength int `json:"iIntegralLength"` //整数位的长度
GiDecimalLength int `json:"iDecimalLength"` //小数位的长度
GsDbFileType string `json:"sDbFileType"` //字段在数据库中的类型
GsRelTitle string `json:"sRelTitle"` //关联后显示的名称
GsRelName string `json:"sRelName"` //关联关系中被动关联的字段名,如 (LEFT JOIN RelTable ON RelTable.A = MainTable.B )中的A
GsRelMainName string `json:"sRelMainName"` //关联关系中被关联的字段名,如 (LEFT JOIN RelTable ON RelTable.A = MainTable.B )中的B
}
数据信息注解
type Entity ¶
type Entity interface {
New() Entity //创建结构实体
BaseColumnNames() string //结构体映射表的字段名串
BaseEntity() Entity //取基础实体,用于在子类(嵌套结构体)时同样获得基类
GetDataInfo(name string) *DataInfo //取数据结构信息
TableName() string //结构体映射表名,当gorm进行查询时要明确与gorm规则不同的表名时使用
OwnerName() string //结构体映射库名,去除'Dev_'等前缀
OwnerTable() string //结构体映射表名,无库名
}
实体接口定义,用于规范实体结构体
type FindByPageParam ¶
type FindByPageParam struct {
Gpage Page `json:"page"` //分页信息对象
Gorders []OrderInfo `json:"orders"` //排序信息对象集合
GsLikeStr string `json:"sLikeStr"` //全文检索条件
GsLikeDateSt string `json:"sLikeDateSt"` //全文检索查询记录修改时间范围条件-开始
GsLikeDateEd string `json:"sLikeDateEd"` //全文检索查询记录修改时间范围条件-结束
Gcondition interface{} `json:"condition"` //常规查询条件对象(根据定义的类型转换)
GsHideBigText bool `json:"sHideBigText"` //是否隐藏大文本字段
GsHideFields string `json:"sHideFields"` //隐藏字段集合';'分隔
}
分页查询条件组合类
type OrderInfo ¶
type OrderInfo struct {
GsOrderDbName string `json:"sOrderDbName"` //排序字段名所属库名
GsOrderTable string `json:"sOrderTable"` //排序字段名所属表
GsOrderField string `json:"sOrderField"` //排序字段名
GsDirection string `json:"sDirection"` //排序方式(升序ASC 降序DESC)
GiIndex int `json:"iIndex"` //排序顺序
}
排序信息
type Page ¶
type Page struct {
GiCurrent int `json:"iCurrent"` //当前页
GiSize int `json:"iSize"` //每页显示记录
GiCountRow int `json:"iCountRow"` //总记录数
GiCountPage int `json:"iCountPage"` //总页数
Record []map[string]interface{} `json:"Record"` //本页的数据列表
}
分页数据信息对象,常用于前端与后台列表数据交互
type TableInfo ¶
type TableInfo struct {
GsDbName string `json:"sDbName"` //所在数据库名称
GsTableName string `json:"sTableName"` //所在数据库表表名称
GsKeyName string `json:"sKeyName"` //表主键名称
GiKeyLen int `json:"iKeyLen"` //主键长度
GbAutoKey bool `json:"bAutoKey"` //是否自增主键
GbHasPid bool `json:"bHasPid"` //是否存在sPid
GbHasPath bool `json:"bHasPath"` //是否存在sPath
GbHasRecordKey bool `json:"bHasRecordKey"` //是否存在sRecordKey
GbHasMemo bool `json:"bHasMemo"` //是否存在sMemo
GbHasCreator bool `json:"bHasCreator"` //是否存在sCreator
GbHasCreateDate bool `json:"bHasCreateDate"` //是否存在dCreateDate
GbHasModifieder bool `json:"bHasModifieder"` //是否存在sModifieder
GbHasModifiedDate bool `json:"bHasModifiedDate"` //是否存在dModifiedDate
GbHasState bool `json:"bHasState"` //是否存在iState
GbHasIndex bool `json:"bHasIndex"` //是否存在iIndex
GbHasVersion bool `json:"bHasVersion"` //是否存在iVersion
GbHasPassword bool `json:"bHasPassword"` //是否存在sPassword
GbHasSign bool `json:"bHasSign"` //是否存在sSign
GbHasOnlyign bool `json:"bHasOnlyign"` //是否存在sOnlyign
GbHasDelSign bool `json:"bHasDelSign"` //是否存在iDelSign
GsBigTextFields string `json:"sBigTextFields"` //大文本字段名称集合,';'分隔
}
数据信息注解
type Time ¶
自定义时间类型
func (*Time) MarshalJSON ¶
重写MarshalJSON方法来实现gorm查询时间字段事数据解析
func (*Time) UnmarshalJSON ¶
Click to show internal directories.
Click to hide internal directories.