core

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.

* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.

* @Author: kamalyes 501893067@qq.com * @Date: 2025-11-11 00:00:00 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-11-13 11:03:15 * @FilePath: \go-sqlbuilder\constant\error.go * @Description: * * Copyright (c) 2025 by kamalyes, All Rights Reserved.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComparedColumn

type ComparedColumn struct {
	TableAlias  string
	ColumnName  string
	DBFieldName string
}

type ComparedValue

type ComparedValue struct {
	Value interface{}
	IsRaw bool
}

type Filter

type Filter struct {
	Field    string            // 字段名
	Operator constant.Operator // 操作符
	Value    interface{}       // 值
}

Filter 过滤条件

type FilterApplier

type FilterApplier struct {
	// contains filtered or unexported fields
}

func NewFilterApplier

func NewFilterApplier() *FilterApplier

func (*FilterApplier) Apply

func (fa *FilterApplier) Apply(query *gorm.DB, filters []Filter) (*gorm.DB, error)

func (*FilterApplier) ApplyFilters

func (fa *FilterApplier) ApplyFilters(query *gorm.DB, filters ...Filter) (*gorm.DB, error)

type FilterBuilder

type FilterBuilder struct {
	// contains filtered or unexported fields
}

func NewFilterBuilder

func NewFilterBuilder() *FilterBuilder

func (*FilterBuilder) AddBETWEEN

func (fb *FilterBuilder) AddBETWEEN(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddEQ

func (fb *FilterBuilder) AddEQ(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddFIND_IN_SET

func (fb *FilterBuilder) AddFIND_IN_SET(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddFilter

func (fb *FilterBuilder) AddFilter(field string, operator constant.Operator, value interface{}) *FilterBuilder

func (*FilterBuilder) AddGT

func (fb *FilterBuilder) AddGT(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddGTE

func (fb *FilterBuilder) AddGTE(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddIN

func (fb *FilterBuilder) AddIN(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddIS_NOT_NULL

func (fb *FilterBuilder) AddIS_NOT_NULL(field string) *FilterBuilder

func (*FilterBuilder) AddIS_NULL

func (fb *FilterBuilder) AddIS_NULL(field string) *FilterBuilder

func (*FilterBuilder) AddLIKE

func (fb *FilterBuilder) AddLIKE(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddLT

func (fb *FilterBuilder) AddLT(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddLTE

func (fb *FilterBuilder) AddLTE(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddNEQ

func (fb *FilterBuilder) AddNEQ(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddNOT_IN

func (fb *FilterBuilder) AddNOT_IN(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) AddNOT_LIKE

func (fb *FilterBuilder) AddNOT_LIKE(field string, value interface{}) *FilterBuilder

func (*FilterBuilder) Build

func (fb *FilterBuilder) Build() []Filter

func (*FilterBuilder) Clear

func (fb *FilterBuilder) Clear() *FilterBuilder

type OperatorTranslator

type OperatorTranslator struct{}

func NewOperatorTranslator

func NewOperatorTranslator() *OperatorTranslator

func (*OperatorTranslator) IsComparisonOperator

func (ot *OperatorTranslator) IsComparisonOperator(op constant.Operator) bool

func (*OperatorTranslator) IsNullOperator

func (ot *OperatorTranslator) IsNullOperator(op constant.Operator) bool

func (*OperatorTranslator) IsSetOperator

func (ot *OperatorTranslator) IsSetOperator(op constant.Operator) bool

func (*OperatorTranslator) IsSpecialOperator

func (ot *OperatorTranslator) IsSpecialOperator(op constant.Operator) bool

func (*OperatorTranslator) IsStringOperator

func (ot *OperatorTranslator) IsStringOperator(op constant.Operator) bool

func (*OperatorTranslator) RequiresValue

func (ot *OperatorTranslator) RequiresValue(op constant.Operator) bool

func (*OperatorTranslator) Translate

func (ot *OperatorTranslator) Translate(op interface{}) (constant.Operator, error)

type OrderApplier

type OrderApplier struct{}

func NewOrderApplier

func NewOrderApplier() *OrderApplier

func (*OrderApplier) Apply

func (oa *OrderApplier) Apply(query *gorm.DB, orders []OrderBy) (*gorm.DB, error)

func (*OrderApplier) ApplyOrders

func (oa *OrderApplier) ApplyOrders(query *gorm.DB, orders ...OrderBy) (*gorm.DB, error)

type OrderBuilder

type OrderBuilder struct {
	// contains filtered or unexported fields
}

func NewOrderBuilder

func NewOrderBuilder() *OrderBuilder

func (*OrderBuilder) AddOrder

func (ob *OrderBuilder) AddOrder(field string, order string) *OrderBuilder

func (*OrderBuilder) Asc

func (ob *OrderBuilder) Asc(field string) *OrderBuilder

func (*OrderBuilder) Build

func (ob *OrderBuilder) Build() []OrderBy

func (*OrderBuilder) Clear

func (ob *OrderBuilder) Clear() *OrderBuilder

func (*OrderBuilder) Desc

func (ob *OrderBuilder) Desc(field string) *OrderBuilder

type OrderBy

type OrderBy struct {
	Field string
	Order string
}

type Pagination

type Pagination struct {
	Page     int
	PageSize int
	Offset   int
	Limit    int
}

type PaginationApplier

type PaginationApplier struct{}

func NewPaginationApplier

func NewPaginationApplier() *PaginationApplier

func (*PaginationApplier) Apply

func (pa *PaginationApplier) Apply(query *gorm.DB, pagination *Pagination) (*gorm.DB, error)

type PaginationBuilder

type PaginationBuilder struct {
	// contains filtered or unexported fields
}

func NewPaginationBuilder

func NewPaginationBuilder() *PaginationBuilder

func (*PaginationBuilder) Build

func (pb *PaginationBuilder) Build() *Pagination

func (*PaginationBuilder) Limit

func (pb *PaginationBuilder) Limit(limit int) *PaginationBuilder

func (*PaginationBuilder) Offset

func (pb *PaginationBuilder) Offset(offset int) *PaginationBuilder

func (*PaginationBuilder) Page

func (pb *PaginationBuilder) Page(page int) *PaginationBuilder

func (*PaginationBuilder) PageSize

func (pb *PaginationBuilder) PageSize(pageSize int) *PaginationBuilder

type QueryApplier

type QueryApplier struct {
	// contains filtered or unexported fields
}

func NewQueryApplier

func NewQueryApplier() *QueryApplier

func (*QueryApplier) ApplyCondition

func (qa *QueryApplier) ApplyCondition(query *gorm.DB, condition *QueryCondition) (*gorm.DB, error)

func (*QueryApplier) ApplyFilters

func (qa *QueryApplier) ApplyFilters(query *gorm.DB, filters []Filter) (*gorm.DB, error)

func (*QueryApplier) ApplyOrders

func (qa *QueryApplier) ApplyOrders(query *gorm.DB, orders []OrderBy) (*gorm.DB, error)

func (*QueryApplier) ApplyPagination

func (qa *QueryApplier) ApplyPagination(query *gorm.DB, pagination *Pagination) (*gorm.DB, error)

type QueryCondition

type QueryCondition struct {
	Filters    []Filter
	Orders     []OrderBy
	Pagination *Pagination
}

Jump to

Keyboard shortcuts

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