|
|
@@ -6,45 +6,63 @@ import (
|
|
|
"gopkg.in/flosch/pongo2.v3"
|
|
|
)
|
|
|
|
|
|
+func (engine *Engine) SetSqlMapRootDir(sqlMapRootDir string) *Engine {
|
|
|
+ engine.sqlMap.SqlMapRootDir = sqlMapRootDir
|
|
|
+ return engine
|
|
|
+}
|
|
|
+
|
|
|
+func (engine *Engine) SetSqlTemplateRootDir(sqlTemplateRootDir string) *Engine {
|
|
|
+ engine.sqlTemplate.SqlTemplateRootDir = sqlTemplateRootDir
|
|
|
+ return engine
|
|
|
+}
|
|
|
+
|
|
|
func (engine *Engine) SqlMapClient(sqlTagName string, args ...interface{}) *Session {
|
|
|
session := engine.NewSession()
|
|
|
session.IsAutoClose = true
|
|
|
- return session.Sql(engine.SqlMap.Sql[sqlTagName], args...)
|
|
|
+ session.IsSqlFuc = true
|
|
|
+ return session.Sql(engine.sqlMap.Sql[sqlTagName], args...)
|
|
|
}
|
|
|
|
|
|
func (engine *Engine) SqlTemplateClient(sqlTagName string, args ...interface{}) *Session {
|
|
|
session := engine.NewSession()
|
|
|
session.IsAutoClose = true
|
|
|
+ session.IsSqlFuc = true
|
|
|
|
|
|
- if engine.SqlTemplate.Template[sqlTagName] == nil {
|
|
|
+ if engine.sqlTemplate.Template[sqlTagName] == nil {
|
|
|
if len(args) == 0 {
|
|
|
return session.Sql("")
|
|
|
} else {
|
|
|
- map1 := args[0].(map[string]interface{})
|
|
|
- return session.Sql("", &map1)
|
|
|
+ map1 := args[0].(*map[string]interface{})
|
|
|
+ return session.Sql("", map1)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if len(args) == 0 {
|
|
|
parmap := &pongo2.Context{"1": 1}
|
|
|
- sql, err := engine.SqlTemplate.Template[sqlTagName].Execute(*parmap)
|
|
|
+ sql, err := engine.sqlTemplate.Template[sqlTagName].Execute(*parmap)
|
|
|
if err != nil {
|
|
|
engine.logger.Error(err)
|
|
|
|
|
|
}
|
|
|
return session.Sql(sql)
|
|
|
} else {
|
|
|
- map1 := args[0].(map[string]interface{})
|
|
|
- sql, err := engine.SqlTemplate.Template[sqlTagName].Execute(map1)
|
|
|
+ map1 := args[0].(*map[string]interface{})
|
|
|
+ sql, err := engine.sqlTemplate.Template[sqlTagName].Execute(*map1)
|
|
|
if err != nil {
|
|
|
engine.logger.Error(err)
|
|
|
|
|
|
}
|
|
|
- return session.Sql(sql, &map1)
|
|
|
+ return session.Sql(sql, map1)
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+func (engine *Engine) Search(beans interface{}, condiBeans ...interface{}) ResultStructs {
|
|
|
+ session := engine.NewSession()
|
|
|
+ defer session.Close()
|
|
|
+ return session.Search(beans, condiBeans...)
|
|
|
+}
|
|
|
+
|
|
|
// Get retrieve one record from table, bean's non-empty fields
|
|
|
// are conditions
|
|
|
func (engine *Engine) GetFirst(bean interface{}) ResultBean {
|