<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 功能強大 支持多語言、二開方便! 廣告
                原生 SQL 查詢 ~~~ DB := orm.NewOrm() 創建一個數據庫鏈接 Ormer var ret orm.RawSeter 創建一個 RawSeter ret = o.Raw("SQl語句") QueryRow() QueryRow 和 QueryRows 提供高級 sql mapper 功能 QueryRows() QueryRows 支持的對象還有 map 規則是和 QueryRow 一樣的,但都是 slice Values() 返回結果集的 key => value 值 ValuesList() 返回結果集 slice ValuesFlat() 返回單一字段的平鋪 slice 數據 RowsToMap() 查詢結果匹配到 map 里 RowsToStruct() 查詢結果匹配到 struct 里 Exec() 執行 sql 語句,返回 sql.Result 對象 SetArgs() 改變 Raw(sql, args…) 中的 args 參數,返回一個新的 RawSeter 。用于單條 sql 語句,重復利用,替換參數然后執行。 Prepare() 用于一次 prepare 多次 exec,以提高批量執行的速度。 ~~~ ~~~ package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) // struct 字段,首字母必須大寫 type Person struct { User_id int `orm:"pk"` Username string Sex string Email string } func init() { maxIdle := 30 maxConn := 30 // 創建連接池 err := orm.RegisterDataBase("default", "mysql", "root:root@tcp(127.0.0.1:3306)/test?charset=utf8", maxIdle, maxConn) if err != nil { fmt.Println("connect mysql err : ", err) } // 需要在init中注冊定義的model orm.RegisterModel(new(Person)) } func main() { // 創建一個數據庫鏈接 Ormer DB := orm.NewOrm() var r0 orm.RawSeter // 創建一個 RawSeter r0 = DB.Raw("select * from person where user_id = ?", 1) var p1 Person // QueryRow 執行 sql 語句,返回 err ,查詢結果存入 p1 err := r0.QueryRow(&p1) if err != nil { fmt.Println("QueryRow err : ", err) } fmt.Println(p1) ids := []int{1, 2, 3} var p2 []Person // QueryRows 執行 sql 語句,返回 num,err ,查詢結果 slice 存入 p2 num, _ := DB.Raw("select * from person where user_id in (?,?,?)", ids).QueryRows(&p2) fmt.Println(num) fmt.Println(p2) // Values 返回結果集的 key => value 值 var maps []orm.Params num, err = DB.Raw("select * from person where user_id = ?", 1).Values(&maps) if err == nil && num > 0 { fmt.Println(maps) } // ValuesList 返回結果集 slice var lists []orm.ParamsList num, err = DB.Raw("select * from person where user_id < ?", 3).ValuesList(&lists) if err == nil && num > 0 { fmt.Println(lists) // slene } // ValuesFlat 返回單一字段的平鋪 slice 數據 var list orm.ParamsList num, err = DB.Raw("select * from person where user_id < ?", 3).ValuesFlat(&list) if err == nil && num > 0 { fmt.Println(list) // []{"1","2","3",...} } // RowsToMap 查詢結果匹配到 map 里 res := make(orm.Params) num, err = DB.Raw("select * from person where user_id < ?", 3).RowsToMap(&res, "username", "email") if err == nil && num > 0 { fmt.Println("RowsToMap", res) } // RowsToStruct 查詢結果匹配到 struct 里 type Email struct { Person0 string Person1 string } res1 := new(Email) num, err = DB.Raw("select username,email from person where user_id < ?", 3).RowsToStruct(res1, "username", "email") if err == nil && num > 0 { fmt.Println(err, num) fmt.Println("RowsToStruct", res1) } // Exec() 執行 sql 語句,返回 sql.Result 對象 act := DB.Raw("UPDATE person SET username = ? where user_id = ?", "your", 1) res2, err := act.Exec() if err == nil { num, _ := res2.RowsAffected() fmt.Println("mysql row affected nums: ", num) } // SetArgs() 用于單條 sql 語句,重復利用,替換參數然后執行。 res3, err := act.SetArgs("your2", 2).Exec() if err == nil { num, _ := res3.RowsAffected() fmt.Println("mysql row affected nums: ", num) } // Prepare() 用于一次 prepare 多次 exec,以提高批量執行的速度。 p, err := DB.Raw("UPDATE person SET username = ? WHERE user_id = ?").Prepare() _, _ = p.Exec("testing", 3) _, _ = p.Exec("testing", 4) p.Close() // 別忘記關閉 statement } ~~~
                  <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>

                              哎呀哎呀视频在线观看