grm

package module
v1.0.0-...-68e451e Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2018 License: MIT Imports: 23 Imported by: 0

README

Grm

Grm is a tool like mybatis for the Go programming language.

Requirements

Go version >= 1.9.

Download and install

go get -u -v gopkg.in/grm.v1/cmd/grm

Commands

grm --hl fmt -f ./models/sql/
grm --hl gen go -p models -f ./models/sql/ -o ./models/sql.go

or

go generate

MIT License

Pouch is licensed under the MIT License. See LICENSE for the full license text.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Funcs = map[string]interface{}{
	"Commas": Commas,
	"Equal":  Equal,
	"Like":   Like,
	"And":    And,
	"Or":     Or,
	"Where":  Where,
	"Having": Having,
}

Functions

func And

func And(v []interface{}) string

func Commas

func Commas(a []string) string

func Equal

func Equal(k string, v ...interface{}) (string, error)

func Exec

func Exec(db DBExec, sqlStr string, req interface{}) (sql.Result, error)

func ExecLastInsertId

func ExecLastInsertId(db DBExec, sqlStr string, req interface{}) (int, error)

func ExecRowsAffected

func ExecRowsAffected(db DBExec, sqlStr string, req interface{}) (int, error)

func Execute

func Execute(tpl TemplateExecute, req interface{}) (string, error)

func ExecuteCount

func ExecuteCount(tpl TemplateExecute, req interface{}) (string, error)

func ExecuteDDL

func ExecuteDDL(tpl TemplateExecute, req interface{}) (string, error)

func ExecuteDDLCount

func ExecuteDDLCount(tpl TemplateExecute, req interface{}) (string, error)

func Get

func Get() (*sql.DB, error)

func GetWithDB

func GetWithDB(alias string) (*sql.DB, error)

func Having

func Having(s string) string

func Like

func Like(k string, v interface{}) (string, error)

func Or

func Or(v []interface{}) string

func ParseSqlFiles

func ParseSqlFiles(t *template.Template, paths ...string) (*template.Template, error)

func ParseSqlFilesArgs

func ParseSqlFilesArgs(t *template.Template, out string, paths ...string) (*template.Template, error)

func Query

func Query(db DBQuery, sqlStr string, req, resp interface{},
	limit int, fn func(reflect.StructField) string, f int) (int, error)

func ReadAtLine

func ReadAtLine(r io.Reader) ([][]string, error)

func Register

func Register(source string) (*sql.DB, error)

func RegisterWithDB

func RegisterWithDB(alias, source string) (*sql.DB, error)

func Where

func Where(s string) string

func WriterAtLine

func WriterAtLine(ff [][]string) *bytes.Buffer

Types

type DBCache

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

func NewDBCache

func NewDBCache() *DBCache

func (*DBCache) Get

func (d *DBCache) Get() (*sql.DB, error)

func (*DBCache) GetWithDB

func (d *DBCache) GetWithDB(alias string) (*sql.DB, error)

func (*DBCache) Register

func (d *DBCache) Register(source string) (*sql.DB, error)

func (*DBCache) RegisterWithDB

func (d *DBCache) RegisterWithDB(alias, source string) (*sql.DB, error)

type DBExec

type DBExec interface {
	Exec(query string, args ...interface{}) (sql.Result, error)
	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
}

type DBQuery

type DBQuery interface {
	Query(query string, args ...interface{}) (*sql.Rows, error)
	QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
}

type TemplateExecute

type TemplateExecute interface {
	Execute(wr io.Writer, data interface{}) error
}

Directories

Path Synopsis
cmd
grm

Jump to

Keyboard shortcuts

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