<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國際加速解決方案。 廣告
                # 嵌套事務模型使用 上一章節我們介紹了,簡單事務模型的使用,大多數場景使用簡單事務模型即可滿足我們的需求,但實際業務開發過程中我們會發現依然還有一些特殊場景,我們需要使用嵌套事務來進行事務處理。本xorm版本也提供了嵌套事務的支持。當使用嵌套事務模型進行事務處理時,同樣也需要創建Session對象,與使用簡單事務模型進行事務處理不同在于,使用`session.Begin()`創建簡單事務時,直接在同一個session下操作,而使用嵌套事務模型進行事務處理時候,使用`session.BeginTrans()`創建嵌套事務時,將返回Transaction實例,后續操作則在同一個Transaction實例下操作。在進行具體數據庫操作時候,則使用`tx.Session()`API可以獲得當前事務所持有的session會話,從而進行Get(),Find(),Execute()等具體數據庫操作。 示例代碼如下: ~~~ session := engine.NewSession() defer session.Close() // add BeginTrans() before any action tx, err := session.BeginTrans() if err != nil { return } user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()} _, err = tx.Session().Insert(&user1) if err != nil { tx.Rollback() return } user2 := Userinfo{Username: "yyy"} _, err = tx.Session().Where("id = ?", 2).Update(&user2) if err != nil { tx.RollbackTrans() return } _, err = tx.Session().Exec("delete from userinfo where username = ?", user2.Username) if err != nil { tx.RollbackTrans() return } _, err = tx.Session().SqlMapClient("delete.userinfo", user2.Username).Execute() if err != nil { tx.RollbackTrans() return } // add CommitTrans() after all actions err = tx.CommitTrans() 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>

                              哎呀哎呀视频在线观看