ORM使用

文档对应视频课程中3.6章节,请小伙伴们对应学习。

什么是orm?

在关系型数据库和对象之间作一个映射,在操作数据库时,不需要写复杂的SQL语句,只需要像操作对象一样。

第一步 安装

go get github.com/astaxie/beego/orm
go get github.com/go-sql-driver/mysql

第二步 配置数据库信息,加载信息

app.conf中增加配置信息

[dev]
defaultdb = root:123456@tcp(127.0.0.1:3306)/fyouku?charset=utf8

main.go中加载信息

    import (
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
)

func main() {
    //获取配置文件中信息
    defaultdb := beego.AppConfig.String("defaultdb")
    orm.RegisterDriver("mysql", orm.DRMySQL)
    orm.RegisterDataBase("default", "mysql", defaultdb, 30, 30)

    beego.Run()
}

注意:ORM 必须注册一个别名为 default 的数据库,作为默认使用

第三步 model中使用

    package models

    import (
        "github.com/astaxie/beego/orm"
    )
    //定义type
    type Advert struct {
        Id       int
        Title    string
        SubTitle string
        AddTime  int64
        Img      string
        Url      string
    }

    func init() {
        //注册model
        orm.RegisterModel(new(Advert))
    }

    func GetChannelAdvert(channelId int) (int64, []Advert, error) {
        //使用前先new一下
        o := orm.NewOrm()
        var adverts []Advert
        num, err := o.Raw("SELECT id, title, sub_title,img,add_time,url FROM advert WHERE status=1 AND channel_id=? ORDER BY sort DESC LIMIT 1", channelId).QueryRows(&adverts)
        return num, adverts, err
    }

results matching ""

    No results matching ""