beego 的curd

作者: 寒云暮雨 | 来源:发表于2019-05-06 12:16 被阅读0次

对于beego要求有一个默认的数据库连接,我在入口进行了指定
项目结构如下


image.png
func main() {
    _ = orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/shenshen?charset=utf8", 30)
    _ = orm.RunSyncdb("default", false, true)
    //o := orm.NewOrm()
    //_ = o.Using("default") //可以不指定

    beego.Run()
}

1、查询

//models包里的user
// GetUserById retrieves User by Id. Returns error if
// Id doesn't exist
func GetUserById(id int64) (v *User, err error) {
    o := orm.NewOrm()
    v = &User{Id: id}
    if err = o.QueryTable(new(User)).Filter("Id", id).RelatedSel().One(v); err == nil {
        return v, nil
    }
    return nil, err
}

//查询
    a, res := models.GetUserById(1)

2、新增单条数据

//models包里的user
// AddUser insert a new User into database and returns
// last inserted Id on success.
func AddUser(m *User) (id int64, err error) {
    o := orm.NewOrm()
    id, err = o.Insert(m)
    return
}

//添加数据
    var user models.User
    user.UserName = "hhhh"
    fmt.Println(user)
    
    //这里的参数是user的地址
    id, err := models.AddUser(&user)
    fmt.Println(id, err)

3、新增多条数据

//models包里的user
func InsertMulti(users []User) (successNumber int64, err error) {
    o := orm.NewOrm()
    successNumber, err = o.InsertMulti(len(users), users)
    return
}

    var user models.User
    user.UserName = "hhhh"
//执行插入多条数据
    number, err := models.InsertMulti([]models.User{user, user})
    fmt.Println(number, err)

返回
2 <nil>
2019/05/06 12:34:15.640 [D] [server.go:2774]  |      127.0.0.1| 200 |    37.9063ms|   match| GET      /     r:/

2表示插入成功两条 <nil> 表示失败0条

4、更新数据

//models包里的user

func UpdateUserById(m *User) (err error) {
    o := orm.NewOrm()
    v := User{Id: m.Id}
    // ascertain id exists in the database
    if err = o.Read(&v); err == nil {
        var num int64
        if num, err = o.Update(m); err == nil {
            fmt.Println("Number of records updated in database:", num)
        }
    }
    return
}

更新数据
    var user models.User
    user.UserName = "hhhh"
    user.Id = 1
    err = models.UpdateUserById(&user)
    fmt.Println(err)

5、删除

func DeleteUser(id int64) (err error) {
    o := orm.NewOrm()
    v := User{Id: id}
    // ascertain id exists in the database
    if err = o.Read(&v); err == nil {
        var num int64
        if num, err = o.Delete(&User{Id: id}); err == nil {
            fmt.Println("Number of records deleted in database:", num)
        }
    }
    return
}


    models.DeleteUser(2)

相关文章

网友评论

    本文标题:beego 的curd

    本文链接:https://www.haomeiwen.com/subject/nyjroqtx.html