# 手动管理SqlMap配置及SqlTemplate模板 - 以下方法是在没有engine.InitSqlMap()和engine.InitSqlTemplate()初始化相关配置文件的情况下让您在代码中可以轻松的手动管理SqlMap配置及SqlTemplate模板。 - engine.InitSqlMap()和engine.InitSqlTemplate()初始化相关配置文件之后也可以使用以下方法灵活的对SqlMap配置及SqlTemplate模板进行管理 - 方便支持您系统中其他初始化配置源,可不依赖于本库的初始化配置方式 - 可在代码中依据业务场景,动态的添加、更新、删除SqlMap配置及SqlTemplate模板 - 手工管理的SqlMap配置及SqlTemplate模板,与xorm初始化方法一样会将相关配置缓存,但不会生成相关配置文件 * LoadSqlMap(string) 加载指定文件的SqlMap配置 ~~~ engine.LoadSqlMap(filepath) ~~~ * ReloadSqlMap(string) 重新加载指定文件的SqlMap配置 ~~~ engine.ReloadSqlMap(filepath) ~~~ * BatchLoadSqlMap([]string) 批量加载指定文件的SqlMap配置 ~~~ engine.BatchLoadSqlMap([]filepath) ~~~ * BatchReloadSqlMap([]string) 批量重新加载指定文件的SqlMap配置 ~~~ engine.BatchReloadSqlMap([]filepath) ~~~ * GetSql(string) 获取一条SqlMap配置 ~~~ engine.GetSql(key) ~~~ * AddSql(string, string) 新增一条SqlMap配置 ~~~ engine.AddSql(key, sql) ~~~ * UpdateSql(string, string) 更新一条SqlMap配置 ~~~ engine.UpdateSql(key, sql) ~~~ * RemoveSql(string) 删除一条SqlMap配置 ~~~ engine.RemoveSql(key) ~~~ * BatchAddSql(map[string]string) 批量新增SqlMap配置 ~~~ engine.BatchAddSql(map[key]sql) ~~~ * BatchUpdateSql(map[string]string) 批量更新SqlMap配置 ~~~ engine.BatchUpdateSql(map[key]sql) ~~~ * BatchRemoveSql([]string) 批量删除SqlMap配置 ~~~ engine.BatchRemoveSql([]key) ~~~ * LoadSqlTemplate(string) 加载指定文件的SqlTemplate模板 ~~~ engine.SqlTemplate.LoadSqlTemplate(filepath) ~~~ * ReloadSqlTemplate(string) 重新加载指定文件的SqlTemplate模板 ~~~ engine.SqlTemplate.ReloadSqlTemplate(filepath) ~~~ * ReloadSqlTemplate([]string) 批量加载指定文件的SqlTemplate模板 ~~~ engine.SqlTemplate.BatchLoadSqlTemplate([]filepath) ~~~ * BatchReloadSqlTemplate([]string) 批量重新加载指定文件的SqlTemplate模板 ~~~ engine.SqlTemplate.BatchReloadSqlTemplate([]filepath) ~~~ * AddSqlTemplate(string, string) 新增一条SqlTemplate模板,sql为SqlTemplate模板内容字符串 ~~~ engine.SqlTemplate.AddSqlTemplate(key, sql) ~~~ * UpdateSqlTemplate(string, string) 更新一条SqlTemplate模板,sql为SqlTemplate模板内容字符串 ~~~ engine.SqlTemplate.UpdateSqlTemplate(key, sql) ~~~ * RemoveSqlTemplate(string) 删除一条SqlTemplate模板 ~~~ engine.SqlTemplate.RemoveSqlTemplate(key) ~~~ * BatchAddSqlTemplate(map[string]string) 批量新增SqlTemplate配置,sql为SqlTemplate模板内容字符串 ~~~ engine.SqlTemplate.BatchAddSqlTemplate(map[key]sql) ~~~ * BatchUpdateSqlTemplate(map[string]string) 批量更新SqlTemplate配置,sql为SqlTemplate模板内容字符串 ~~~ engine.SqlTemplate.BatchUpdateSqlTemplate(map[key]sql) ~~~ * BatchRemoveSqlTemplate([]string) 批量删除SqlTemplate配置 ~~~ engine.SqlTemplate.BatchRemoveSqlTemplate([]key) ~~~ * GetSqlMap(string...) * 指定多个key,批量查询SqlMap配置,...key的数据类型为...interface{},返回类型为map[string]string * 如不传任何参数,调用engine.GetSqlMap(),则返回整个内存中当前缓存的所有SqlMap配置 ~~~ /* 支持如下多种调用方式 a)engine.GetSqlMap("Test_GetSqlMap_1"),返回key为Test_GetSqlMap_1的SqlMap配置 b)engine.GetSqlMap("Test_GetSqlMap_1", "Test_GetSqlMap_3"),返回key为Test_GetSqlMap_1,Test_GetSqlMap_3的SqlMap配置 c)engine.GetSqlMap("Test_GetSqlMap_1", "Test_GetSqlMap_3","Test_GetSqlMap_null"),返回key为Test_GetSqlMap_1,Test_GetSqlMap_3的SqlMap,Test_GetSqlMap_null配置,其中Test_GetSqlMap_null在内存中缓存的的key不存在,则在返回的map[string]string中,key Test_GetSqlMap_null配置返回的值为空字符串 d)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"})支持字符串数组形式参数 e)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"},"Test_GetSqlMap_2")支持字符串数组形式和字符串参数混用 f)engine.GetSqlMap([]string{"Test_GetSqlMap_1", "Test_GetSqlMap_3"},"Test_GetSqlMap_2",3)支持字符串数组形式,字符串参数和其他类型参数混用,但查询时只会处理字符串类型参数和字符转数组类型参数(因为SqlMap的key是字符串类型),返回的map[string]string也无其他类型的key */ engine.GetSqlMap(key...) ~~~ * GetSqlTemplates(string...) * 指定多个key,批量查询SqlTemplate配置,...key的数据类型为...interface{},返回类型为map[string]*pongo2.Template * 如不传任何参数,调用engine.GetSqlTemplates(),则返回整个内存中当前缓存的所有SqlTemplate配置 * engine.GetSqlTemplates()返回类型为map[string]*pongo2.Template,可以方便的实现链式调用pongo2的Execute(),ExecuteBytes(),ExecuteWriter()方法 ~~~ /* 支持如下多种调用方式 a)engine.GetSqlTemplates("Test_GetSqlTemplates_1"),返回key为Test_GetSqlTemplates_1的SSqlTemplate配置 b)engine.GetSqlTemplates("Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"),返回key为Test_GetSqlTemplates_1,Test_GetSqlTemplates_3的SqlTemplate配置 c)engine.GetSqlTemplates("Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3","Test_GetSqlTemplates_null"),返回key为Test_GetSqlTemplates_1,Test_GetSqlTemplates_3的SqlMap,Test_GetSqlMap_null配置,其中Test_GetSqlTemplates_null在内存中缓存的的key不存在,则在返回的map[string]*pongo2.Template中,key Test_GetSqlTemplates_null配置返回的值为nil d)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"})支持字符串数组形式参数 e)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"},"Test_GetSqlTemplates_2")支持字符串数组形式和字符串参数混用 f)engine.GetSqlTemplates([]string{"Test_GetSqlTemplates_1", "Test_GetSqlTemplates_3"},"Test_GetSqlTemplates_2",3)支持字符串数组形式,字符串参数和其他类型参数混用,但查询时只会处理字符串类型参数和字符转数组类型参数(因为SqlTemplate的key是字符串类型),返回的map[string]*pongo2.Template也无其他类型的key */ engine.SqlTemplate.GetSqlTemplates(...key) ~~~