mworm

package module
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2025 License: MIT Imports: 17 Imported by: 0

README

mworm

go postgresql orm

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SqlxDB  *sqlx.DB
	TagName = "db"
)

Functions

func Batch

func Batch(ormArray ...*OrmModel) error

func BatchArray

func BatchArray(ormArray []*OrmModel) error

func BatchFunc

func BatchFunc(f func(tx *sqlx.Tx)) error

func BindDB

func BindDB(DB *sqlx.DB) error

func ConvertArray added in v0.1.6

func ConvertArray[T int | string](array []T) []string

func ExecRawSQL added in v0.2.0

func ExecRawSQL(sql string, args ...any) error

func JsonbBuildObjString added in v0.2.8

func JsonbBuildObjString(obj interface{}, prefix ...string) string

func NamedExec

func NamedExec(sqlStr string, params map[string]interface{}) error

func NamedQuery added in v0.1.4

func NamedQuery(query string, params any, dest any) error

func NamedQueryWithMap added in v0.3.1

func NamedQueryWithMap(query string, fieldMap map[string]any, dest any) error

func Query added in v0.1.4

func Query(query string, dest any) error

func StructToMap

func StructToMap(item interface{}) (map[string]any, map[string]string)

func UnmarshalGetPath

func UnmarshalGetPath(json []byte, val interface{}, path ...interface{}) error

func ValueTypeToStr added in v0.3.3

func ValueTypeToStr(v any) string

Types

type CRUDInterface

type CRUDInterface interface {
	CRUDMode(mode string) string
}

type ConditionGroup

type ConditionGroup struct {
	Logic        string
	Symbol       string
	JsonTags     []string
	Args         []any
	InArgs       []string
	NamedExpress string // named 表达式
	// contains filtered or unexported fields
}

func And

func And(tag ...string) ConditionGroup

func And2F

func And2F(tag string, arg any) ConditionGroup

func AndZero added in v0.3.3

func AndZero(tag ...string) ConditionGroup

func Asc added in v0.3.1

func Asc(tag string) ConditionGroup

func AutoFill added in v0.3.3

func AutoFill(zero ...bool) ConditionGroup

func Desc added in v0.3.1

func Desc(tag string) ConditionGroup

func Eq added in v0.3.3

func Eq(tag string, args ...any) ConditionGroup

func Exp

func Exp(express string, args ...any) ConditionGroup

Exp 条件表达式 {table_column_field}=:{name}

func Gt added in v0.3.3

func Gt(tag string, args ...any) ConditionGroup

func Gte added in v0.3.3

func Gte(tag string, args ...any) ConditionGroup

func IN

func IN[T int | string](tag string, args ...T) ConditionGroup

func IsNull added in v0.3.3

func IsNull(tag ...string) ConditionGroup

IsNull 是否为空 And

func IsNullOR added in v0.3.3

func IsNullOR(tag ...string) ConditionGroup

IsNullOR 是否为空 OR

func Like added in v0.3.1

func Like(tag ...string) ConditionGroup

func LikeOR added in v0.3.3

func LikeOR(tag ...string) ConditionGroup

func Lt added in v0.3.3

func Lt(tag string, args ...any) ConditionGroup

func Lte added in v0.3.3

func Lte(tag string, args ...any) ConditionGroup

func Or

func Or(tag ...string) ConditionGroup

func Or2F

func Or2F(tag string, args ...any) ConditionGroup

func OrZero added in v0.3.3

func OrZero(tag ...string) ConditionGroup

func (ConditionGroup) Transform

func (cg ConditionGroup) Transform() string

type ConditionType added in v0.3.1

type ConditionType int

type ORMInterface

type ORMInterface interface {
	TableName() string
}

type OrmModel

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

func DELETE

func DELETE(i ORMInterface) *OrmModel

func INSERT

func INSERT(i ORMInterface) *OrmModel

func O added in v0.1.4

func O() *OrmModel

func RawNamedSQL added in v0.1.18

func RawNamedSQL(sql string, params any) *OrmModel

func RawSQL

func RawSQL(sql string) *OrmModel

func SELECT

func SELECT(i ORMInterface) *OrmModel

func Table

func Table(name string) *OrmModel

func UPDATE

func UPDATE(i ORMInterface) *OrmModel

func (*OrmModel) Asc

func (o *OrmModel) Asc(jsonTag ...string) *OrmModel

func (*OrmModel) Count

func (o *OrmModel) Count(column string) (int64, error)

func (*OrmModel) Delete

func (o *OrmModel) Delete(i interface{}) *OrmModel

func (*OrmModel) Desc

func (o *OrmModel) Desc(jsonTag ...string) *OrmModel

func (*OrmModel) EmptyKey

func (o *OrmModel) EmptyKey(f bool) *OrmModel

func (*OrmModel) Error

func (o *OrmModel) Error() error

func (*OrmModel) ExcludeFields added in v0.1.17

func (o *OrmModel) ExcludeFields(jsonTag ...string) *OrmModel

func (*OrmModel) Exec

func (o *OrmModel) Exec() error

Exec 执行由 OrmModel 生成的 SQL 查询,并在出现错误时返回错误。

该函数不接受任何参数。 它返回一个错误。

func (*OrmModel) Fields

func (o *OrmModel) Fields(jsonTag ...string) *OrmModel

func (*OrmModel) FullSQL added in v0.2.3

func (o *OrmModel) FullSQL() (string, map[string]interface{})

FullSQL SQL+WithSQL

func (*OrmModel) If

func (o *OrmModel) If(ifFunc func(o *OrmModel)) *OrmModel

func (*OrmModel) Insert

func (o *OrmModel) Insert(i interface{}) *OrmModel

func (*OrmModel) JsonbList

func (o *OrmModel) JsonbList(dest interface{}) error

func (*OrmModel) JsonbListString

func (o *OrmModel) JsonbListString() (string, error)

func (*OrmModel) JsonbMap

func (o *OrmModel) JsonbMap(dest interface{}, columns ...string) error

func (*OrmModel) JsonbMapString

func (o *OrmModel) JsonbMapString(keys ...string) (string, error)

func (*OrmModel) Limit

func (o *OrmModel) Limit(row int64) *OrmModel

func (*OrmModel) Log

func (o *OrmModel) Log(l bool) *OrmModel

func (*OrmModel) Many added in v0.1.18

func (o *OrmModel) Many(dest interface{}) error

func (*OrmModel) NamedSQL

func (o *OrmModel) NamedSQL() (string, map[string]interface{})

func (*OrmModel) Offset

func (o *OrmModel) Offset(row int64) *OrmModel

func (*OrmModel) One added in v0.1.18

func (o *OrmModel) One(dest interface{}) error

func (*OrmModel) RETURNING

func (o *OrmModel) RETURNING(single any, list any, jsonTag ...string) error

func (*OrmModel) Select

func (o *OrmModel) Select(i interface{}) *OrmModel

func (*OrmModel) SetField added in v0.1.11

func (o *OrmModel) SetField(jsonTag string, arg any) *OrmModel

SetField UPDATE 设置字段值

func (*OrmModel) Update

func (o *OrmModel) Update(i interface{}) *OrmModel

func (*OrmModel) Where

func (o *OrmModel) Where(cgs ...ConditionGroup) *OrmModel

func (*OrmModel) WherePK

func (o *OrmModel) WherePK() *OrmModel

WherePK WHERE 条件里使用主键进行查询 db:"columnName,pk"

func (*OrmModel) With

func (o *OrmModel) With(t string) *OrmModel

func (*OrmModel) WithAsc

func (o *OrmModel) WithAsc(fields ...string) *OrmModel

func (*OrmModel) WithDesc

func (o *OrmModel) WithDesc(fields ...string) *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"`            //分页数据
}

func DebugPAGE added in v0.3.3

func DebugPAGE[T ORMInterface](entity T, debug bool, page, pageSize int, cgs ...ConditionGroup) (PageResult[T], error)

func PAGE added in v0.3.1

func PAGE[T ORMInterface](entity T, page, pageSize int, cgs ...ConditionGroup) (PageResult[T], error)

func (PageResult[T]) CalcTotalPage added in v0.3.1

func (pr PageResult[T]) CalcTotalPage() int

Jump to

Keyboard shortcuts

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