Documentation ¶
Overview ¶
个人扩展到的一些GROM的常用方法
Index ¶
- func DataColumnAs(column any, alias, tables string) string
- func DataColumnAsFloatString(col any) []string
- func DataColumnAsIntString(col any) []string
- func DataColumnAsList(column [][]string, alias []string, tables string) string
- func DataColumnAsString(column []string, alias, tables string) string
- func SetDbMaxConnections(c int)
- type XDB
- func (db *XDB) Begin(opts ...*sql.TxOptions) *XDB
- func (db *XDB) Between(field string, start, end any) *XDB
- func (db *XDB) Commit() *XDB
- func (db *XDB) Distinct(args ...any) *XDB
- func (db *XDB) FieldMinMax(min_field, max_field string, min, max any, type_field uint8) *XDB
- func (db *XDB) Group(name string) *XDB
- func (db *XDB) Having(query any, args ...any) *XDB
- func (c *XDB) Joins(query string, args ...any) *XDB
- func (c *XDB) Like(fd []string, key string) *XDB
- func (c *XDB) Likes(fd []string, key any, op ...string) *XDB
- func (c *XDB) List(offset, limit int, count *int64, dest any) error
- func (db *XDB) Not(query interface{}, args ...interface{}) *XDB
- func (db *XDB) Omit(columns ...string) *XDB
- func (db *XDB) Or(query interface{}, args ...interface{}) *XDB
- func (db *XDB) Order(value any) *XDB
- func (c *XDB) PluckIntString(key, val string) (map[int]string, error)
- func (c *XDB) PluckStringInt(key, val string) (map[string]int, error)
- func (db *XDB) Rollback() *XDB
- func (db *XDB) Select(query any, args ...any) *XDB
- func (db *XDB) Table(name string, args ...any) *XDB
- func (db *XDB) Transaction(fc func(txs *XDB) error, opts ...*sql.TxOptions) error
- func (c *XDB) ValueFloat64(field string) float64
- func (c *XDB) ValueInt64(field string) int64
- func (c *XDB) ValueJson(field string, jsons any) error
- func (c *XDB) ValueString(field string) string
- func (c *XDB) When(when bool, query any, args ...any) *XDB
- func (db *XDB) WhenBetween(when bool, field string, start, end any) *XDB
- func (c *XDB) WhenLike(w bool, fd []string, key string) *XDB
- func (c *XDB) Where(query any, args ...any) *XDB
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DataColumnAs ¶ added in v0.3.12
未知类型转义
func DataColumnAsList ¶ added in v0.3.12
多维数组转SQL
func DataColumnAsString ¶ added in v0.3.12
SQL语句进行别名解析,用于left join/where使用
column 待拼接的字符串,允许值类型为:[]number,[]string alias 该字段别名 tables 使用gorm等工具时的AS别名,会追加() AS xxxx形式,空字符串则不追加
func SetDbMaxConnections ¶ added in v0.3.21
func SetDbMaxConnections(c int)
设置缓存中的最大连接量,到达该数量后会关闭一半打开最早的连接 触达该配置数量后会清理其中的2/3,因是定时执行的,可能会存在数量超出该配置值的情况 另外,为了避免使用To对原有连接的影响,此处将不清理To导入的数据库连接,即一旦To的设置了别名,将不会触发对应的清理操作 PS: 但是会被计算在内,导致整体清理后移,所以使用时请尽量避免该情况
c 设置的最大连接数量(为了避免设置1时的持续性清理,故1和0均为不限制)
Types ¶
type XDB ¶
扩展结构体 使用Alias和Dns来区分不同的数据库连接,即相同的Alias连接相同
func (*XDB) Distinct ¶
检索某个列或一组列的唯一值。当您指定要查询的独特字段时,SQL 将返回这些字段的独特值,并按照指定的顺序进行检索。 等同于gorm的Distinct方法,此处仅为内部的一个封装
args 检索条件
func (*XDB) FieldMinMax ¶
设置字段的范围信息
min_field 数据库中的最小ID/时间字段 max_field 数据库中的最大ID/时间字段 min 搜索的最小条件 max 搜索的最大条件 type_field 搜索模式,0-包含min和max 1-包含min,不包含max 2-包含max,不包含min 3-都不包含
func (*XDB) Likes ¶
追加Likes搜索条件
fd 查询的字段【使用like进行匹配】 key 查询的字符串/数字等,请手动追加前后的%或者其他的%规则 op 查询条件,默认为 "LIKE ?",可传入其他值,如:" = ?" / " > ? and type = 1"......(字段在最前面,前后会追加括号,且仅第一个生效,所以写条件时需要注意位置)
func (*XDB) List ¶
搜索列表数据
offset 跳过条数 limit 查询条数,<0表示查询全部 count int64格式的条数搜索【需要为指针】 dest 搜索的字段列表【需要为指针】
func (*XDB) Transaction ¶
函数式事务处理
func (*XDB) When ¶
When搜索 此搜索条件和gorm的where等同,最前方多了一层If bool的判断
when 判断注入的When条件,只有此处为true时才会注入后方的where条件 query 查询条件 args 附加参数
func (*XDB) WhenBetween ¶
When Between 范围检索
when 判断注入的When条件,只有此处为true时才会注入后方的where条件 field 待检索的条件 start 开始条件 end 结束条件
Click to show internal directories.
Click to hide internal directories.