# 名稱映射規則
名稱映射規則主要負責結構體名稱到表名和結構體field到表字段的名稱映射。由core.IMapper接口的實現者來管理,xorm內置了三種IMapper實現:core.SnakeMapper , core.SameMapper和core.GonicMapper。 * SnakeMapper 支持struct為駝峰式命名,表結構為下劃線命名之間的轉換,這個是默認的Maper; * SameMapper 支持結構體名稱和對應的表名稱以及結構體field名稱與對應的表字段名稱相同的命名; * GonicMapper 和SnakeMapper很類似,但是對于特定詞支持更好,比如ID會翻譯成id而不是i_d。
當前SnakeMapper為默認值,如果需要改變時,在engine創建完成后使用
~~~
engine.SetMapper(core.SameMapper{})
~~~
同時需要注意的是:
* 如果你使用了別的命名規則映射方案,也可以自己實現一個IMapper。
* 表名稱和字段名稱的映射規則默認是相同的,當然也可以設置為不同,如:
~~~
engine.SetTableMapper(core.SameMapper{})
engine.SetColumnMapper(core.SnakeMapper{})
~~~
When a struct auto mapping to a database’s table, the below table describes how they change to each other:
| go type's kind | value method | xorm type |
| -- | -- | -- |
| implemented Conversion | Conversion.ToDB / Conversion.FromDB | Text |
| int, int8, int16, int32, uint, uint8, uint16, uint32 | | Int |
| int64, uint64 | | BigInt |
| float32 | | Float |
| float64 | | Double |
| complex64, complex128 | json.Marshal / json.UnMarshal | Varchar(64) |
| []uint8 | | Blob |
| array, slice, map except []uint8 | json.Marshal / json.UnMarshal | Text |
| string | | Varchar(255) |
| time.Time | | DateTime |
| cascade struct | primary key field value | BigInt |
| struct | json.Marshal / json.UnMarshal | Text |
| Others | | Text |
| bool | 1 or 0 | Bool |
- 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 工具
- 常見問題
- 感謝支持