diff --git a/engineplus.go b/engineplus.go index 4c2d0d2..7553f0f 100644 --- a/engineplus.go +++ b/engineplus.go @@ -33,20 +33,6 @@ func (engine *Engine) GetFirst(bean interface{}) ResultBean { return session.GetFirst(bean) } -// Exec a raw sql and return records as []map[string]interface{} -func (engine *Engine) QueryAll(sql string, paramStr ...interface{}) (resultsSlice []map[string]interface{}, err error) { - session := engine.NewSession() - defer session.Close() - return session.queryAll(sql, paramStr...) -} - -// Exec a raw sql and return records as []map[string]interface{} -func (engine *Engine) QueryAllByMap(sql string, paramMap interface{}) (resultsSlice []map[string]interface{}, err error) { - session := engine.NewSession() - defer session.Close() - return session.queryAllByMap(sql, paramMap) -} - func JSONString(v interface{}, IndentJSON bool) (string, error) { var result []byte var err error diff --git a/sessionplus.go b/sessionplus.go index e2c0550..094b0ef 100644 --- a/sessionplus.go +++ b/sessionplus.go @@ -11,8 +11,8 @@ import ( "fmt" "reflect" "regexp" - "strings" "strconv" + "strings" "time" "github.com/Chronokeeper/anyxml" @@ -196,6 +196,23 @@ func (resultStructs ResultStructs) XmlIndent(prefix string, indent string, recor return string(resultByte), nil } +func (session *Session) SqlMapClient(sqlTagName string, args ...interface{}) *Session { + return session.Sql(session.Engine.SqlMap.Sql[sqlTagName], args...) +} + +func (session *Session) SqlTemplateClient(sqlTagName string, args ...interface{}) *Session { + map1 := args[0].(map[string]interface{}) + if session.Engine.SqlTemplate.Template[sqlTagName] == nil { + return session.Sql("", &map1) + } + sql, err := session.Engine.SqlTemplate.Template[sqlTagName].Execute(map1) + if err != nil { + session.Engine.logger.Error(err) + } + + return session.Sql(sql, &map1) +} + func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) ResultStructs { err := session.find(rowsSlicePtr, condiBean...) r := ResultStructs{Result: rowsSlicePtr, Error: err}