xgorm

package
v0.3.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2024 License: BSD-3-Clause-Clear Imports: 6 Imported by: 0

Documentation

Overview

个人扩展到的一些GROM的常用方法

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DataColumnAs added in v0.3.12

func DataColumnAs(column any, alias, tables string) string

未知类型转义

func DataColumnAsFloatString added in v0.3.12

func DataColumnAsFloatString(col any) []string

将整数类型转换为字符串类型

col	待转换的变量数据

func DataColumnAsIntString added in v0.3.12

func DataColumnAsIntString(col any) []string

将整数类型转换为字符串类型

col	待转换的变量数据

func DataColumnAsList added in v0.3.12

func DataColumnAsList(column [][]string, alias []string, tables string) string

多维数组转SQL

func DataColumnAsString added in v0.3.12

func DataColumnAsString(column []string, alias, tables string) string

SQL语句进行别名解析,用于left join/where使用

column	待拼接的字符串,允许值类型为:[]number,[]string
alias	该字段别名
tables	使用gorm等工具时的AS别名,会追加() AS xxxx形式,空字符串则不追加

Types

type XDB

type XDB struct {
	*gorm.DB
	// contains filtered or unexported fields
}

扩展结构体

func To

func To(c *gorm.DB) *XDB

将gorm数据库连接转换为此处扩展的连接信息【条件会在原指针上进行添加,所以此处可以单独使用】

c	待转换的结构体

func (*XDB) Begin

func (db *XDB) Begin(opts ...*sql.TxOptions) *XDB

开启事务,代理gorm的Begin方法

opts	事务选项

func (*XDB) Between

func (db *XDB) Between(field string, start, end any) *XDB

Between 范围检索

field	待检索的条件
start	开始条件
end		结束条件

func (*XDB) Commit

func (db *XDB) Commit() *XDB

事务提交

func (*XDB) Count

func (db *XDB) Count() (int64, error)

查询数据条数

func (*XDB) Distinct

func (db *XDB) Distinct(args ...any) *XDB

检索某个列或一组列的唯一值。当您指定要查询的独特字段时,SQL 将返回这些字段的独特值,并按照指定的顺序进行检索。 等同于gorm的Distinct方法,此处仅为内部的一个封装

args	检索条件

func (*XDB) FieldMinMax

func (db *XDB) FieldMinMax(min_field, max_field string, min, max any, type_field uint8) *XDB

设置字段的范围信息

min_field	数据库中的最小ID/时间字段
max_field	数据库中的最大ID/时间字段
min			搜索的最小条件
max			搜索的最大条件
type_field	搜索模式,0-包含min和max 1-包含min,不包含max 2-包含max,不包含min 3-都不包含

func (*XDB) Group

func (db *XDB) Group(name string) *XDB

分组

name	分组字段

func (*XDB) Having

func (db *XDB) Having(query any, args ...any) *XDB

排重

query	排重条件
args	附加参数

func (*XDB) Joins

func (c *XDB) Joins(query string, args ...any) *XDB

join关联 等同于gorm的joins

query	关联表
args	关联参数

func (*XDB) Likes

func (c *XDB) Likes(fd []string, key any, op ...string) *XDB

追加Likes搜索条件

fd	查询的字段【使用like进行匹配】
key	查询的字符串/数字等,请手动追加前后的%或者其他的%规则
op	查询条件,默认为 "LIKE ?",可传入其他值,如:" = ?" / " > ? and  type = 1"......(字段在最前面,前后会追加括号,且仅第一个生效,所以写条件时需要注意位置)

func (*XDB) Limit

func (db *XDB) Limit(limit int) *XDB

查询条数

limit	查询条数

func (*XDB) List

func (c *XDB) List(count *int64, dest any) error

搜索列表数据

count	int64格式的条数搜索【需要为指针】
dest	搜索的字段列表【需要为指针】

func (*XDB) Not

func (db *XDB) Not(query interface{}, args ...interface{}) *XDB

Where条件

query	查询条件
args	附加参数

func (*XDB) Offset

func (db *XDB) Offset(offset int) *XDB

跳过条数

offset	跳过条数

func (*XDB) Omit

func (db *XDB) Omit(columns ...string) *XDB

设置忽略字段,和Select取反

columns	要忽略的字段

func (*XDB) Or

func (db *XDB) Or(query interface{}, args ...interface{}) *XDB

Where条件

query	查询条件
args	附加参数

func (*XDB) Order

func (db *XDB) Order(value any) *XDB

Order排序

value	排序条件

func (*XDB) Page

func (db *XDB) Page(offset, limit int) *XDB

分页数据

offset	跳过条数
limit	查询条数

func (*XDB) Rollback

func (db *XDB) Rollback() *XDB

事务回退

func (*XDB) Save

func (db *XDB) Save(value interface{}) error

设置保存信息

value	要保存的结构体信息

func (*XDB) Select

func (db *XDB) Select(query any, args ...any) *XDB

设置查询字段

query	查询条件
args	附加参数

func (*XDB) SetDbRows

func (db *XDB) SetDbRows(c int64) *XDB

设置影响行数,即若此行数不等于c时直接返回错误

c	设置预期影响行数

func (*XDB) SetRowsAffected

func (db *XDB) SetRowsAffected(c bool) *XDB

设置影响行数为空时返回错误

c	设置影响行数为0时是否返回错误信息

func (*XDB) Table

func (db *XDB) Table(name string, args ...any) *XDB

设置表格【等同于gorm的table】

func (*XDB) Transaction

func (db *XDB) Transaction(fc func(txs *XDB) error, opts ...*sql.TxOptions) error

函数式事务处理

func (*XDB) Update

func (db *XDB) Update(column string, value interface{}) error

设置保存信息

column	要修改的字段
value	修改的值

func (*XDB) When

func (c *XDB) When(when bool, query any, args ...any) *XDB

When搜索 此搜索条件和gorm的where等同,最前方多了一层If bool的判断

when	判断注入的When条件,只有此处为true时才会注入后方的where条件
query	查询条件
args	附加参数

func (*XDB) WhenBetween

func (db *XDB) WhenBetween(when bool, field string, start, end any) *XDB

When Between 范围检索

when	判断注入的When条件,只有此处为true时才会注入后方的where条件
field	待检索的条件
start	开始条件
end		结束条件

func (*XDB) Where

func (c *XDB) Where(query any, args ...any) *XDB

Where搜索 此搜索条件和gorm的where等同

query	查询条件
args	附加参数

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL