# 手動管理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)
~~~
- xorm
- 創建Orm引擎
- 定義表結構體
- 名稱映射規則
- 前綴映射,后綴映射和緩存映射
- 使用Table和Tag改變名稱映射
- Column屬性定義
- 表結構操作
- 獲取數據庫信息
- 表操作
- 創建索引和唯一索引
- 同步數據庫結構
- 導入導出SQL腳本
- SqlMap及SqlTemplate模板
- 初始化SqlMap配置文件及SqlTemplate模板
- SqlMap及SqlTemplate相關功能API
- SqlMap配置文件及SqlTemplate模板加密存儲及解析
- 手動管理SqlMap配置及SqlTemplate模板
- 插入數據
- ORM方式插入數據
- 執行SQL命令插入數據
- 創建時間Created
- 查詢和統計數據
- ORM方式查詢和統計數據
- 查詢條件方法
- 臨時開關方法
- Get方法
- Find方法
- Join的使用
- Iterate方法
- Count方法
- Rows方法
- Sum系列方法
- Exist方法
- 子查詢
- 執行SQL查詢
- 執行SQL查詢的11種常用方式
- 查詢返回json或xml字符串
- 鏈式查詢據操返回某條記錄的某個字段的值
- SqlTemplateClient執行過程
- 關于數據庫分頁查詢
- 更新數據
- ORM方式更新數據
- Update方法
- 樂觀鎖Version
- 更新時間Updated
- 執行SQL命令更新數據
- 刪除數據
- ORM方式刪除數據
- Delete方法
- 軟刪除Deleted
- 執行SQL命令刪除數據
- 事務處理
- 簡單事務模型
- 嵌套事務模型
- 八種事務類型及事務傳播機制
- 簡單事務相關API
- 嵌套事務相關API
- 嵌套事務示例代碼
- 主從數據庫(Master/Slave)讀寫分離
- 創建引擎組
- 負載策略
- 引擎組其他配置方法
- 數據庫讀寫分離
- 批量混合SQL操作
- SQL Builder
- 緩存
- 事件
- 數據導出
- Dump數據庫結構和數據
- 查詢結果集導出csv、tsv、xml、json、xlsx、yaml、html
- 多Sheet頁數據導出
- 日志
- 連接池
- xorm 工具
- 常見問題
- 感謝支持