Documentation
¶
Index ¶
- Variables
- func Batch(ormArray ...*OrmModel) error
- func BatchArray(ormArray []*OrmModel) error
- func BatchFunc(f func(tx *sqlx.Tx)) error
- func BindDB(DB *sqlx.DB) error
- func ConvertArray[T int | string](array []T) []string
- func Exec(sqlStr string) error
- func ExecRawSQL(sql string, args ...any) error
- func JsonTagToJsonbKeys(obj interface{}, prefix string, igTags ...string) string
- func JsonbBuildObjString(obj interface{}, prefix ...string) string
- func NamedExec(sqlStr string, params map[string]interface{}) error
- func NamedQuery(query string, params any, dest any) error
- func NamedQueryWithMap(query string, fieldMap map[string]any, dest any) error
- func Query(query string, dest any) error
- func StructToMap(item any) (map[string]any, map[string]string)
- func ValueTypeToStr(v any) string
- type CRUDInterface
- type ConditionGroup
- func And(tag ...string) ConditionGroup
- func And2F(tag string, arg any) ConditionGroup
- func AndAuto(tag ...string) ConditionGroup
- func Asc(tag string) ConditionGroup
- func AutoFill(zero ...bool) ConditionGroup
- func Desc(tag string) ConditionGroup
- func Eq(tag string, args ...any) ConditionGroup
- func Exp(express string, args ...any) ConditionGroup
- func Fields(tag ...string) ConditionGroup
- func Gt(tag string, args ...any) ConditionGroup
- func Gte(tag string, args ...any) ConditionGroup
- func IN[T int | string](tag string, args ...T) ConditionGroup
- func JoinOn(express string) ConditionGroup
- func Like(tag ...string) ConditionGroup
- func LikeOR(tag ...string) ConditionGroup
- func Lt(tag string, args ...any) ConditionGroup
- func Lte(tag string, args ...any) ConditionGroup
- func NEq(tag string, args ...any) ConditionGroup
- func NEqLike(tag ...string) ConditionGroup
- func NEqNull(tag ...string) ConditionGroup
- func Null(tag ...string) ConditionGroup
- func NullOR(tag ...string) ConditionGroup
- func Or(tag ...string) ConditionGroup
- func Or2F(tag string, args ...any) ConditionGroup
- func OrAuto(tag ...string) ConditionGroup
- func Raw(express string, args ...any) ConditionGroup
- type ConditionType
- type Error
- type JoinTable
- type JoinType
- type ORMInterface
- type OrmModel
- func DELETE(i ORMInterface) *OrmModel
- func INSERT(i ORMInterface) *OrmModel
- func O() *OrmModel
- func RawNamedSQL(sql string, params any) *OrmModel
- func RawSQL(sql string) *OrmModel
- func SELECT(i ORMInterface, distinct ...bool) *OrmModel
- func Table(name string) *OrmModel
- func UPDATE(i ORMInterface) *OrmModel
- func (o *OrmModel) AllowEmpty(jsonTag ...string) *OrmModel
- func (o *OrmModel) Asc(jsonTag ...string) *OrmModel
- func (o *OrmModel) BuildSQL() SQLParams
- func (o *OrmModel) Count(column string) (int64, error)
- func (o *OrmModel) Delete(i interface{}) *OrmModel
- func (o *OrmModel) Desc(jsonTag ...string) *OrmModel
- func (o *OrmModel) Error() error
- func (o *OrmModel) ExcludeFields(jsonTag ...string) *OrmModel
- func (o *OrmModel) Exec() error
- func (o *OrmModel) Fields(jsonTag ...string) *OrmModel
- func (o *OrmModel) FullSQL() SQLParams
- func (o *OrmModel) GroupBy(cgs ...ConditionGroup) *OrmModel
- func (o *OrmModel) Having(exp string, args ...any) *OrmModel
- func (o *OrmModel) If(ifFunc func(o *OrmModel)) *OrmModel
- func (o *OrmModel) Insert(i interface{}) *OrmModel
- func (o *OrmModel) Join(i ORMInterface) *OrmModel
- func (o *OrmModel) JsonbList(dest interface{}) error
- func (o *OrmModel) JsonbListString() (string, error)
- func (o *OrmModel) JsonbMap(dest interface{}, columns ...string) error
- func (o *OrmModel) JsonbMapString(keys ...string) (string, error)
- func (o *OrmModel) Limit(row int64) *OrmModel
- func (o *OrmModel) Log(l bool) *OrmModel
- func (o *OrmModel) Many(dest interface{}) error
- func (o *OrmModel) Offset(row int64) *OrmModel
- func (o *OrmModel) One(dest interface{}) error
- func (o *OrmModel) RETURNING(single any, list any, jsonTag ...string) error
- func (o *OrmModel) Select(i interface{}, distinct ...bool) *OrmModel
- func (o *OrmModel) SetField(jsonTag string, arg any) *OrmModel
- func (o *OrmModel) Update(i interface{}) *OrmModel
- func (o *OrmModel) Where(cgs ...ConditionGroup) *OrmModel
- func (o *OrmModel) WherePK() *OrmModel
- func (o *OrmModel) With(t string) *OrmModel
- func (o *OrmModel) WithAsc(fields ...string) *OrmModel
- func (o *OrmModel) WithDesc(fields ...string) *OrmModel
- type PageResult
- type SQLParams
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // SqlxDB 数据库连接对象 SqlxDB *sqlx.DB // TagName 结构体 tag 名称 TagName = "db" DebugMode bool )
View Source
var ( ErrInvalidPageSize = &Error{Code: 1001, Message: "page size must be greater than zero"} ErrNilDB = &Error{Code: 1002, Message: "database connection is nil"} ErrEmptySQL = &Error{Code: 1003, Message: "SQL statement is empty"} ErrNoEffect = &Error{Code: 1004, Message: "no rows affected"} )
定义常见错误
Functions ¶
func ConvertArray ¶ added in v0.1.6
func ExecRawSQL ¶ added in v0.2.0
ExecRawSQL 执行原生 SQL
func JsonTagToJsonbKeys ¶ added in v0.3.7
func JsonbBuildObjString ¶ added in v0.2.8
func NamedQuery ¶ added in v0.1.4
NamedQuery 执行带命名参数的 SQL 查询并映射结果
func NamedQueryWithMap ¶ added in v0.3.1
NamedQueryWithMap 执行带命名参数的 SQL 查询并映射结果
func ValueTypeToStr ¶ added in v0.3.3
Types ¶
type CRUDInterface ¶
type ConditionGroup ¶
type ConditionGroup struct {
Logic string // Logic: 逻辑运算符(AND/OR)
Symbol string // Symbol: 比较符号(=, >, < 等)
JsonTags []string // JsonTags: 参与条件的字段名
Args []any // Args: 参数值
InArgs []string // InArgs: IN 查询参数
Express string // Express: 表达式
// contains filtered or unexported fields
}
ConditionGroup 条件分组结构体,描述 SQL 查询的条件
func Exp ¶
func Exp(express string, args ...any) ConditionGroup
Exp 条件表达式 {table_column_field}=:{name}
func Fields ¶ added in v0.3.39
func Fields(tag ...string) ConditionGroup
func NEqLike ¶ added in v0.3.25
func NEqLike(tag ...string) ConditionGroup
NEqLike 构造 AND LIKE != 条件分组
func Raw ¶ added in v0.3.15
func Raw(express string, args ...any) ConditionGroup
Raw 条件表达式 column1 = 2 AND column2 = 'abc' 或 column1 = $1 AND column2 = $2
func (ConditionGroup) Transform ¶
func (cg ConditionGroup) Transform() string
Transform 转换为 SQL 字符串(未实现)
type ConditionType ¶ added in v0.3.1
type ConditionType int // ConditionType 条件类型枚举
type JoinTable ¶ added in v0.3.8
type JoinTable struct {
Type JoinType // JOIN 类型
Table string // 表名
Alias string // 表别名
Conditions []ConditionGroup // JOIN 条件
SelectField []string // 需要查询的字段
}
JoinTable 连接表的结构
func (*JoinTable) SelectFields ¶ added in v0.3.8
SelectFields 设置需要查询的字段
type ORMInterface ¶
type ORMInterface interface {
TableName() string
}
ORMInterface 数据库表结构体接口,需实现 TableName 方法 CRUDInterface 数据库操作接口,需实现 CRUDMode 方法
type OrmModel ¶
type OrmModel struct {
// contains filtered or unexported fields
}
func RawNamedSQL ¶ added in v0.1.18
func (*OrmModel) AllowEmpty ¶ added in v0.3.12
func (*OrmModel) ExcludeFields ¶ added in v0.1.17
func (*OrmModel) GroupBy ¶ added in v0.3.39
func (o *OrmModel) GroupBy(cgs ...ConditionGroup) *OrmModel
func (*OrmModel) Join ¶ added in v0.3.8
func (o *OrmModel) Join(i ORMInterface) *OrmModel
Join 添加连接表
func (*OrmModel) JsonbListString ¶
func (*OrmModel) Where ¶
func (o *OrmModel) Where(cgs ...ConditionGroup) *OrmModel
type PageResult ¶ added in v0.3.1
type PageResult[T any] struct { Total int `json:"total" db:"total"` //总记录数 TotalPage int `json:"totalPage" db:"total_page"` //总页数 Page int `json:"page" db:"page"` //当前页 PageSize int `json:"pageSize" db:"page_size"` //页面数量 List []T `json:"list" db:"list"` //分页数据 }
PageResult 用于分页查询结果的结构体,包含总数、总页数、当前页、每页数量和数据列表。
func DebugPAGE ¶ added in v0.3.3
func DebugPAGE[T ORMInterface](entity T, debug bool, page, pageSize int, excludeTags []string, cgs ...ConditionGroup) (PageResult[T], error)
DebugPAGE 分页查询方法,支持调试和排除指定的json tag字段
func PAGE ¶ added in v0.3.1
func PAGE[T ORMInterface](entity T, page, pageSize int, excludeTags []string, cgs ...ConditionGroup) (PageResult[T], error)
PAGE 分页查询方法,支持排除指定的json tag字段
func (PageResult[T]) CalcTotalPage ¶ added in v0.3.1
func (pr PageResult[T]) CalcTotalPage() int
CalcTotalPage 计算总页数
Click to show internal directories.
Click to hide internal directories.