# 初始化SqlMap配置文件及SqlTemplate模板
xorm提供了SqlMap配置和SqlTemplate功能,如創建引擎,且需要使用SqlMap配置和SqlTemplate功能,參考如下方式創建引擎并初始化SqlMap配置文件及SqlTemplate模板
~~~
var err error
engine, err = xorm.NewPostgreSQL("postgres://postgres:root@localhost:5432/testdb?sslmode=disable")
if err != nil {
t.Fatal(err)
}
/*--------------------------------------------------------------------------------------------------
1、使用RegisterSqlMap()注冊SqlMap配置
2、RegisterSqlTemplate()方法注冊SSqlTemplate模板配置
3、SqlMap配置文件總根目錄和SqlTemplate模板配置文件總根目錄可為同一目錄
--------------------------------------------------------------------------------------------------*/
//注冊SqlMap配置,可選功能,如應用中無需使用SqlMap,可無需初始化
//此處使用xml格式的配置,配置文件根目錄為"./sql/oracle",配置文件后綴為".xml"
err = x.RegisterSqlMap(xorm.Xml("./sql/oracle", ".xml"))
if err != nil {
t.Fatal(err)
}
//注冊動態SQL模板配置,可選功能,如應用中無需使用SqlTemplate,可無需初始化
//此處注冊動態SQL模板配置,使用Pongo2模板引擎,配置文件根目錄為"./sql/oracle",配置文件后綴為".stpl"
err = x.RegisterSqlTemplate(xorm.Pongo2("./sql/oracle", ".stpl"))
if err != nil {
t.Fatal(err)
}
//開啟SqlMap配置文件和SqlTemplate配置文件更新監控功能,將配置文件更新內容實時更新到內存,如無需要可以不調用該方法
err = engine.StartFSWatcher()
if err != nil {
t.Fatal(err)
}
~~~
* <b>db.RegisterSqlMap()過程</b>
* 使用RegisterSqlMap()方法指定SqlMap配置文件文件格式,配置文件總根目錄,配置文件后綴名,RegisterSqlMap()方法按指定目錄遍歷所配置的目錄及其子目錄下的所有xml配置文件(<a href="https://github.com/xormplus/xorm/blob/master/test/sql/oracle/studygolang.xml">配置文件樣例</a>)或json配置文件(<a href="https://github.com/xormplus/xorm/blob/master/test/sql/oracle/test.json">配置文件樣例</a>)
* 解析所有配置SqlMap的xml配置文件或json配置文件
* xml配置文件中sql標簽的id屬性值作為SqlMap的key,如有重名id,則后加載的覆蓋之前加載的配置sql條目
* json配置文件中key值作為SqlMap的key,如有重名key,則后加載的覆蓋之前加載的配置sql條目
* json配置文件中key和xml配置文件中sql標簽的id屬性值有相互重名的,則后加載的覆蓋之前加載的配置sql條目
* 配置文件中sql配置會讀入內存并緩存
* 由于SqlTemplate模板能完成更多復雜組裝和特殊場景需求等強大功能,故SqlMap的xml或json只提供這種極簡配置方式,非ibatis的OGNL的表達式實現方式
* <b>db.RegisterSqlTemplate()過程</b>
* 使用RegisterSqlTemplate()方法指定SqlTemplate模板的模板引擎(支持[pongo2](https://github.com/flosch/pongo2)、[jet](https://github.com/CloudyKit/jet)、[html/template](https://github.com/golang/go/tree/master/src/html/template)3種模板引擎,但只能選用一種,不能同時混用),配置文件總根目錄,配置文件后綴名,RegisterSqlTemplate()方法按指定目錄遍歷所配置的目錄及其子目錄及其子目錄下的所有stpl模板文件(<a href="https://github.com/xormplus/xorm/blob/master/test/sql/oracle/select.example.stpl">模板文件樣例</a>)
* 使用指定模板引擎解析stpl模板文件
* stpl模板文件名作為SqlTemplate存儲的key(不包含目錄路徑),如有不同路徑下出現同名文件,則后加載的覆蓋之前加載的配置模板內容
* stpl模板內容會讀入內存并緩存
- 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 工具
- 常見問題
- 感謝支持