sqlte

package module
v0.0.0-...-3b1e0bf Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultSqlteOptions = SqlteOptions{
	TemplateDirName: "sqlTemplate",
	TemplateExt:     ".hcl",
}
View Source
var (
	ErrSqlLoaderNotInit = errors.New("未初始化SqlLoader")
)
View Source
var TemplateManager = SqlTemplateManager{}.New()

Functions

func DboProxy

func DboProxy(dbo interface{}, buildFunc func(funcField reflect.StructField, field reflect.Value) func(arg FunProxyArg) []reflect.Value)

func NewSqlCallerProxy

func NewSqlCallerProxy(caller SqlCaller) func(funcField reflect.StructField, field reflect.Value) func(arg FunProxyArg) []reflect.Value

func TestProxyBuildFunc

func TestProxyBuildFunc(funcField reflect.StructField, field reflect.Value) func(arg FunProxyArg) []reflect.Value

Types

type FunArg

type FunArg struct {
	Name  string
	Index int
}

type FunProxyArg

type FunProxyArg struct {
	FunArgs    []FunArg
	FunArgsLen int
	Args       []reflect.Value
	ArgsLen    int
}

代理数据

func (FunProxyArg) New

func (it FunProxyArg) New(tagArgs []FunArg, args []reflect.Value) FunProxyArg

type SqlCaller

type SqlCaller interface {
	Call(funcName string, params map[string]interface{}, outNum int) ([]interface{}, error)
}

type SqlLoader

type SqlLoader interface {
	Open(name string) (fs.File, error)
	ReadFile(name string) ([]byte, error)
	ReadDir(name string) ([]fs.DirEntry, error)
}

type SqlTemplate

type SqlTemplate struct {
	DboName string            `json:"dbo_name"`
	Select  map[string]string `json:"select"`
	Execute map[string]string `json:"execute"`
	Manager *SqlTemplateManager
}

func (*SqlTemplate) MakeSql

func (it *SqlTemplate) MakeSql(tplName string, args map[string]interface{}) (string, error)

MakeSql 根据参数解析模板生成sql

func (SqlTemplate) New

func (it SqlTemplate) New(manager *SqlTemplateManager) *SqlTemplate

type SqlTemplateManager

type SqlTemplateManager struct {
	Compile *template.Template
	// contains filtered or unexported fields
}

func (SqlTemplateManager) Bootstrap

func (it SqlTemplateManager) Bootstrap(loader SqlLoader) *SqlTemplateManager

func (*SqlTemplateManager) GetTemplate

func (it *SqlTemplateManager) GetTemplate(dboName string) *SqlTemplate

func (SqlTemplateManager) New

type SqlTransformer

type SqlTransformer func(results []reflect.Value, next SqlTransformer) (interface{}, error)

type SqlteOptions

type SqlteOptions struct {
	TemplateDirName string `json:"template_dir_name"` // sql模块目录名称
	TemplateExt     string `json:"template_ext"`
}

Jump to

Keyboard shortcuts

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