<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 數據庫讀寫分離 創建好EngineGroup之后,我們將可以對主從數據庫(Master/Slave)進行SQL操作。例如: ~~~ import ( _ "github.com/lib/pq" "github.com/xormplus/xorm" ) var eg *xorm.EngineGroup func main() { conns := []string{ "postgres://postgres:root@localhost:5432/test?sslmode=disable;", "postgres://postgres:root@localhost:5432/test1?sslmode=disable;", "postgres://postgres:root@localhost:5432/test2?sslmode=disable", } var err error eg, err = xorm.NewEngineGroup("postgres", conns) if err != nil { return } user := new(User) user.Name = "myname" affected, err := eg.Insert(user) // INSERT INTO user (name) values (?) if err != nil { return } } ~~~ EngineGroup對數據庫的SQL操作方法集和Engine是完全一致的,上例中則是對數據庫進行Insert操作,寫操作和數據庫事務操作都將在Master數據庫中執行。而讀操作則是依據負載策略在某個Slave中執行。 ## EngineGroup的Session EngineGroup和Engine一樣可以通過NewSession()方法來創建EngineGroup的Session,下例中,在同一個EngineGroup的Session中,執行寫操作是在Master數據庫中執行,執行讀操作時則在Slave數據庫執行。 >xorm并不推薦在同一個EngineGroup的Session中同時進行讀寫操作,如需要,請使用事務,事務操作將全部在Master數據庫中執行讀寫操作。 ~~~ session := eg.NewSession() defer session.Close() user := new(User) user.Name = "myname" affected, err := session.Insert(user) // INSERT INTO user (name) values (?) if err != nil { return } _, err = session.Exec("delete from userinfo where username = ?", user2.Username) if err != nil { return } sql := "select * from userinfo" results, err := engine.Query(sql) if err != nil { return } _, err = session.Exec("delete from userinfo where username = ?", user2.Username) if err != nil { return } ~~~
                  <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>

                              哎呀哎呀视频在线观看