sqlt

package
v0.0.0-...-b42d4c1 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SELECT optionType // 查询
	UPDATE            // 修改
	DELETE            // 删除
	INSERT            // 新增
)

Variables

This section is empty.

Functions

func ObjectToTagMap

func ObjectToTagMap(obj any, tag string) (map[string]interface{}, error)

结构体对象依据tag获取数据转map 当结构体中存在tag字段但无值情况给nil值 当tag字段类型为slice或map时将会进行json处理 当tag字段类型为其他类型时,需要在对应类型上添加Value方法去重构它,该程序将会依据Value方法获取其字段值 此方法将作为sqlx的Named模式将结构体转换为map使用

Types

type Clause

type Clause struct {
	Condition []string      // 语句(条件语句或设置语句) xxx = ? | xxx in (?) ...
	Params    []interface{} // 值
	End       bool          // 是否结束当前子句
}

子句 - 单个块的子句为 and 当存在多个子句时用 or 拼接

func NewClause

func NewClause() Clause

创建一个新的子句

type ColumnObj

type ColumnObj interface {
	Value() any
}

type SQLEngine

type SQLEngine[T TableObject] struct {
	// contains filtered or unexported fields
}

SQL引擎 - 基础单表操作sql引擎,快速进行单表操作

func NewSQLEngine

func NewSQLEngine[T TableObject](db *sqlx.DB) *SQLEngine[T]

func (*SQLEngine[T]) And

func (se *SQLEngine[T]) And(condition string, vals ...interface{}) *SQLEngine[T]

And

func (*SQLEngine[T]) Clear

func (se *SQLEngine[T]) Clear() *SQLEngine[T]

func (*SQLEngine[T]) CloseClause

func (se *SQLEngine[T]) CloseClause() *SQLEngine[T]

关闭当前子句 - 用于进入到下一条or子句 或结束当前or子句操作

func (*SQLEngine[T]) Count

func (se *SQLEngine[T]) Count() *SQLEngine[T]

func (*SQLEngine[T]) Delete

func (se *SQLEngine[T]) Delete() *SQLEngine[T]

Delete delete语句生成器 此方法执行时如果delete语句没有where条件将会抛出错误

func (*SQLEngine[T]) Exec

func (se *SQLEngine[T]) Exec() (sql.Result, error)

func (*SQLEngine[T]) Find

func (se *SQLEngine[T]) Find(obj any, columns ...string) error

func (*SQLEngine[T]) Get

func (se *SQLEngine[T]) Get(obj any, columns ...string) error

func (*SQLEngine[T]) InsertNamed

func (se *SQLEngine[T]) InsertNamed(tag string, objs ...T) *SQLEngine[T]

Insert insert named语句生成器(允许生成批量插入) 此方法依据tag获取字段名称,并将依据此tag的值设定为列名进行插入语句生成

func (*SQLEngine[T]) Or

func (se *SQLEngine[T]) Or(condition string, vals ...interface{}) *SQLEngine[T]

Or

func (*SQLEngine[T]) Select

func (se *SQLEngine[T]) Select(columns ...string) *SQLEngine[T]

Select select语句生成器

func (*SQLEngine[T]) Set

func (se *SQLEngine[T]) Set(condition string, vals ...interface{}) *SQLEngine[T]

Set

func (*SQLEngine[T]) Update

func (se *SQLEngine[T]) Update() *SQLEngine[T]

Update update语句生成器 此方法执行时如果update语句没有where条件将会抛出错误

func (*SQLEngine[T]) Value

func (se *SQLEngine[T]) Value() (string, []interface{}, error)

func (*SQLEngine[T]) Where

func (se *SQLEngine[T]) Where(condition string, vals ...interface{}) *SQLEngine[T]

Where

type TableObject

type TableObject interface {
	TableName() string // 返回表名
}

Jump to

Keyboard shortcuts

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