中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

beego框架中orm的使用

發布時間:2020-08-02 12:54:39 來源:網絡 閱讀:1636 作者:ck_god 欄目:編程語言


//package main

//

//import (

// _ "myproject/routers"

// "github.com/astaxie/beego"

// "github.com/astaxie/beego/orm"

// "fmt"

//)

//

//func main() {

// //beego.SetStaticPath("/down1","download1") ,自定義設置多個靜態文件處理目錄

// beego.Run()

//}

// 上面是入門的案例, 下面是beego框架中orm的使用


package main


import (

_ "myproject/routers"

"github.com/astaxie/beego"

"github.com/astaxie/beego/orm"

"fmt"

)


type User struct{

Id int

Name string `orm:"size(100)"`

}


type Post struct{

Id int `orm:"auto"`

Title string `orm:"size(100)"`

User *User `orm:"rel(fk)"`

}


func init(){

// set default dabase

orm.RegisterDataBase("default","mysql", "root:mysql@tcp(127.0.0.1)/golang_db01?charset=utf8", 30)


//register model

orm.RegisterModel(new(User))


//創建table

orm.RunSyncdb("default", false, true)

}


func main() {

//beego.SetStaticPath("/down1","download1") ,自定義設置多個靜態文件處理目錄

// 五,調試查詢日志

//開發環境中,輸出日志

// [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [    db.Exec /     0.4ms] -   [INSERT INTO `user` (`name`) VALUES (?)] - `slene`

orm.Debug = true


o := orm.NewOrm()

user := User{Name:"slence"}


//一,通過orm進行增刪改查

//insert

id, err := o.Insert(&user)

fmt.Printf("ID:%d, ERR: %v\n", id, err)


//update

user.Name = "astaxie"

num, err := o.Update(&user)

fmt.Printf("NUM:%d, ERR:%v\n", num, err)


//read one

u := User{Id:user.Id}

err = o.Read(&u)

fmt.Printf("ERR:%v\n", err)


//delete

num, err = o.Delete(&u)

fmt.Printf("NUM:%d, ERR:%v\n", num, err)


// 二,關聯查詢,主要還是在于Post的結構體中User字段定義了外鍵關聯

var posts []*Post

qs := o.QueryTable("post")

num, err = qs.Filter("User_name", "slence").All(&posts)//不用:=是因為上面意見有num了,此處僅僅是修改

fmt.Printf("NUM:%d, ERR:%v\n", num, err)


// 三,使用原生的SQL語句進行查詢

var maps []orm.Params

num, err= o.Raw("SELECT * FROM user").Values(&maps)

fmt.Printf("NUM:%d, ERR:%v\n", num, err)

for _, term := range maps{

fmt.Println(term["id"], ":", term["name"])

}


//四,事務的處理

//o.Begin

//。。。。

//o := NewOrm()

//user := User{Name:"slence"}

//id, err := o.Insert(&user)

//if err == nil{

// o.Commit()

//}else{

// o.Rollback()

//}


beego.Run()

}



向AI問一下細節
推薦閱讀:
  1. Django ORM框架
  2. beego之orm

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郓城县| 长武县| 章丘市| 清苑县| 阿巴嘎旗| 天水市| 乡城县| 蒙阴县| 图木舒克市| 镇原县| 安国市| 乳山市| 阳朔县| 台南县| 运城市| 林口县| 新郑市| 临邑县| 巨野县| 梨树县| 五常市| 西乌珠穆沁旗| 工布江达县| 通州市| 栾川县| 长垣县| 大安市| 建宁县| 靖州| 梧州市| 青田县| 桃园市| 米易县| 井陉县| 沅陵县| 新闻| 四川省| 怀来县| 天峨县| 靖远县| 庐江县|