国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

beego構(gòu)造查詢

2023-11-20 18:07 更新

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

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

使用方法:

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

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

// 構(gòu)建查詢對象
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
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號