国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

beego構造查詢

2023-11-20 18:07 更新

QueryBuilder 提供了一個簡便,流暢的 SQL 查詢構造器。在不影響代碼可讀性的前提下用來快速的建立 SQL 語句。

QueryBuilder 在功能上與 ORM 重合, 但是各有利弊。ORM 更適用于簡單的 CRUD 操作,而 QueryBuilder 則更適用于復雜的查詢,例如查詢中包含子查詢和多重聯(lián)結。

使用方法:

// User 包裝了下面的查詢結果
type User struct {
    Name string
    Age  int
}
var users []User

// 獲取 QueryBuilder 對象. 需要指定數(shù)據(jù)庫驅動參數(shù)。
// 第二個返回值是錯誤對象,在這里略過
qb, _ := orm.NewQueryBuilder("mysql")

// 構建查詢對象
qb.Select("user.name",
    "profile.age").
    From("user").
    InnerJoin("profile").On("user.id_user = profile.fk_user").
    Where("age > ?").
    OrderBy("name").Desc().
    Limit(10).Offset(0)

// 導出 SQL 語句
sql := qb.String()

// 執(zhí)行 SQL 語句
o := orm.NewOrm()
o.Raw(sql, 20).QueryRows(&users)

完整 API 接口:

type QueryBuilder interface {
    Select(fields ...string) QueryBuilder
    From(tables ...string) QueryBuilder
    InnerJoin(table string) QueryBuilder
    LeftJoin(table string) QueryBuilder
    RightJoin(table string) QueryBuilder
    On(cond string) QueryBuilder
    Where(cond string) QueryBuilder
    And(cond string) QueryBuilder
    Or(cond string) QueryBuilder
    In(vals ...string) QueryBuilder
    OrderBy(fields ...string) QueryBuilder
    Asc() QueryBuilder
    Desc() QueryBuilder
    Limit(limit int) QueryBuilder
    Offset(offset int) QueryBuilder
    GroupBy(fields ...string) QueryBuilder
    Having(cond string) QueryBuilder
    Subquery(sub string, alias string) string
    String() string
}
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號