<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] > [github](https://xorm.io/) > [官網中文教程](http://www.hmoore.net/kancloud/xorm-manual-zh-cn/56004) ## 安裝 xorm ``` //xorm go get xorm.io/xorm //tool go get xorm.io/cmd/xorm ``` ## ## 常用配置 ``` engine.ShowSQL(true) //在控制臺打印日志 engine.SetMaxIdleConns() //設置連接池的空閑數大小 engine.SetMaxOpenConns() //設置最大打開連接數 ``` ## 創建 Engine Group 引擎 實現讀寫分離 > [跳轉到教程](https://github.com/go-xorm/manual-zh-CN/blob/master/chapter-01/2.engine_group.md) ``` conns := []string{ "postgres://postgres:root@localhost:5432/test?sslmode=disable;", // 第一個默認是master "postgres://postgres:root@localhost:5432/test1?sslmode=disable;", // 第二個開始都是slave "postgres://postgres:root@localhost:5432/test2?sslmode=disable", } var err error eg, err = xorm.NewEngineGroup("postgres", conns) ``` ## tag 映射規則 |tag|規則| |---|---| |name |當前field對應的字段的名稱,可選,如不寫,則自動根據field名字和轉換規則命名,如與其它關鍵字沖突,請使用單引號括起來。| |pk |是否是Primary Key,如果在一個struct中有多個字段都使用了此標記,則這多個字段構成了復合主鍵,單主鍵當前支持int32,int,int64,uint32,uint,uint64,string這7種Go的數據類型,復合主鍵支持這7種Go的數據類型的組合。| |autoincr |是否是自增| |[not ]null 或 notnull |是否可以為空| |unique或unique|(uniquename) 是否是唯一,如不加括號則該字段不允許重復;如加上括號,則括號中為聯合唯一索引的名字,此時如果有另外一個或多個字段和本unique的uniquename相同,則這些uniquename相同的字段組成聯合唯一索引| |index或index|(indexname) 是否是索引,如不加括號則該字段自身為索引,如加上括號,則括號中為聯合索引的名字,此時如果有另外一個或多個字段和本index的indexname相同,則這些indexname相同的字段組成聯合索引| |extends |應用于一個匿名成員結構體或者非匿名成員結構體之上,表示此結構體的所有成員也映射到數據庫中,extends可加載無限級| |- |這個Field將不進行字段映射| |-> |這個Field將只寫入到數據庫而不從數據庫讀取| |<- |這個Field將只從數據庫讀取,而不寫入到數據庫| |created |這個Field將在Insert時自動賦值為當前時間| |updated |這個Field將在Insert或Update時自動賦值為當前時間| |deleted |這個Field將在Delete時設置為當前時間,并且當前記錄不刪除| |version |這個Field將會在insert時默認為1,每次更新自動加1| |default |0或default(0) 設置默認值,緊跟的內容如果是Varchar等需要加上單引號| |json |表示內容將先轉成Json格式,然后存儲到數據庫中,數據庫中的字段類型可以為Text或者二進制| ## 表操作 ``` IsTableEmpty() //判斷表是否為空,參數和CreateTables相同 IsTableExist() //判斷表是否存在 DropTables() //刪除表 ``` ## 前綴映射 ``` tbMapper := core.NewPrefixMapper(core.SnakeMapper{}, "prefix_") engine.SetTableMapper(tbMapper) ``` ## 常見錯誤 ### `xorm` 在使用 mod 時候報錯 用replace 替換 ``` require ( github.com/go-xorm/xorm v0.6.3 ) replace ( github.com/go-xorm/core => xorm.io/core v0.6.3 ) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看