构建beego Web 项目
        首先构建一个beego 的web 项目,这个我们完全可以参考beego 官网中的开发文档,上面介绍的非常的详细,在这我就不给大家介绍,主要是介绍ORM 的CRUP 的操作;这是beego 的官网 https://beego.me/docs/intro/
    
    CRUP 操作
        使用的ORM 的操作,大致步骤是首先创建 数据库的实例,Model实体,控制器 ,还有View 视图;我的实例中使用的是MySQL 数据库;所用应用的数据库驱动也是MySQL 的。
      代码块
      第一: 数据库实例
       
package models

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

func init() {

	mysqluser := beego.AppConfig.String("mysqluser")
	mysqlpass := beego.AppConfig.String("mysqlpass")
	mysqlurls := beego.AppConfig.String("mysqlurls")
	mysqldb := beego.AppConfig.String("mysqldb")

	orm.RegisterModel(new(DbBrand), new(DbProduct))
	orm.RegisterDriver("mysql", orm.DRMySQL)
	orm.RegisterDataBase("default", "mysql", mysqluser+":"+mysqlpass+"@tcp("+mysqlurls+")/"+mysqldb+"?charset=utf8&loc=Asia%2FShanghai")
	orm.RunSyncdb("default", false, true)
	if beego.AppConfig.String("runmode") == "dev" {
		orm.Debug = true
	}
}

 

       第二:实体,下面我是创建了两个实体,这个两个实体是有关系,但是在实例中并没有使用它们的关系进行数据库的操作,这个后续为大家补上的。 有关创建model 实体的关系,在beego 开发文档说明的很清楚了我就不这里解析了。
              
  Brand 实体
 
package models

import (
    "time"

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

type DbBrand struct {
    BrandID    int64     `orm:"auto;pk;column(BrandID);" json:"BrandID"`
    BrandName  string    `orm:"size(100);column(BrandName);"json:"BrandName"`
    SortID     int64     `orm:"column(SortID)"`
    Memo       string    `orm:"size(500);column(Memo);"`
    CreateTime time.Time `orm:"auto_now;type(datetime);column(CreateTime)"`

    Product []*DbProduct `orm:"reverse(many)"`
}

func (b *DbBrand) TableName() string {
    return "_Brand"
}

func (b *DbBrand) Query() orm.QuerySeter {
    return orm.NewOrm().QueryTable(b)
}

func (b *DbBrand) Insert() (int64, error) {
    return orm.NewOrm().Insert(b)
}

func (b *DbBrand) Delete() (int64, error) {
    num, err := orm.NewOrm().Delete(b)
    if err != nil {
        return 0, err
    }
    return num, nil
}

func (b *DbBrand) Update(fields ...string) error {
    _, err := orm.NewOrm().Update(b, fields...)
    if err != nil {
        return err
    }
    return nil
}

func (b *DbBrand) Read(fields ...string) error {
    err := orm.NewOrm().Read(b, fields...)
    if err != nil {
        return err
    }
    return nil
}
View Code

 

相关文章: