beego增刪改查代碼實現

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

記錄下使用beego的增刪改查實現,資料庫使用mysql,完整代碼如下:

package mainimport (    _ "crud_beego/routers" //自動註冊路由    "fmt"    "github.com/astaxie/beego"    "github.com/astaxie/beego/orm"    _ "github.com/go-sql-driver/mysql")const (    DRIVER_NAME   = "mysql"    DATA_SOURCE   = "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&loc=Asia%2FShanghai"    MAX_IDLE_CONN = 5    MAX_OPEN_CONN = 30)type User struct {    Id       int    Name     string    Email    string    Age      int    isActive bool}func (u *User) TableName() string {    return "t_user"}func registerDB() {    orm.Debug = true    orm.RegisterDataBase("default", DRIVER_NAME, DATA_SOURCE, MAX_IDLE_CONN, MAX_OPEN_CONN)    orm.RegisterModel(new(User))}func (this User) ToString() string {    return fmt.Sprintf("Id:%d\tName:%s\tEmail:%s\tAge:%d\tisActive:%v", this.Id, this.Name, this.Email, this.Age, this.isActive)}func createUsers() {    users := []User{        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},        User{Name: "adadmin1", Email: "14199@111.com", Age: 12},    }    o := orm.NewOrm()    if successNums, err := o.InsertMulti(len(users), users); err != nil {        fmt.Println("insert fail.....")    } else {        fmt.Println("success inserted %d datas", successNums)    }}//find all usersfunc listUsers() {    var users []User    orm.NewOrm().QueryTable("t_user").All(&users)    for _, user := range users {        fmt.Println(user.ToString())    }}//get user countfunc countUser() {    cnt, _ := orm.NewOrm().QueryTable("t_user").Count()    fmt.Println("All user count:", cnt)}//get the only one userfunc getUser() {    var user User    err := orm.NewOrm().QueryTable("t_user").Filter("Id", 5).One(&user)    if err == nil {        fmt.Println(user.ToString())    }}//get the only one userfunc getUsers() {    var users []User    _, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").All(&users)    if err == nil {        for _, user := range users {            fmt.Println(user.ToString())        }    }}//get limit userfunc limitUser() {    var users []User    _, err := orm.NewOrm().QueryTable("t_user").Limit(6).OrderBy("-Name").All(&users)    if err == nil {        for _, user := range users {            fmt.Println(user.ToString())        }    }}//get user limit,offsetfunc limitoffsetUser() {    var users []User    _, err := orm.NewOrm().QueryTable("t_user").Limit(1, 4).OrderBy("Id").All(&users)    if err == nil {        for _, user := range users {            fmt.Println(user.ToString())        }    }}//del userfunc delUser() {    num, err := orm.NewOrm().QueryTable("t_user").Filter("Id", "5").Delete()    fmt.Printf("Affected Num: %s, %s", num, err)}//update userfunc updateUser() {    num, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").Update(orm.Params{        "name": "#########",    })    fmt.Printf("Affected Num: %s, %s", num, err)}func main() {    registerDB()    createUsers()    listUsers()    countUser()    getUser()    getUsers()    limitoffsetUser()    delUser()    updateUser()    beego.Run()}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.