Golang WEB編程-Beego

常見GO WEB 框架

  • Beego
  • Buffala
  • Echo
  • Gin
  • Iris
  • Revel

Beego框架特點

  • 比較典型的MVC框架
  • 中國人開發,文檔比較詳細
  • 使用的公司多,如今日頭條、百度雲盤、騰訊、阿里
  • 例子很多

Beego 依賴包安裝

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee
go get github.com/astaxie/beego/orm

Beego之controller

Beego支持三種路由

  • 固定路由
  • 正則路由
  • 自動路由

創建Beego項目

bee new appsh

在這裏插入圖片描述

運行Beego項目

bee run

在這裏插入圖片描述
看到下圖,運行成功
在這裏插入圖片描述

Beego 建表程序

package main

import (
	"fmt"
	"github.com/astaxie/beego/orm"
)

import _ "github.com/go-sql-driver/mysql" // import your used driver

type User struct {
	Id   int
	Name string `orm:"size(32)"`
}

func init() {
	orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/school?charset=utf8", 30)
	orm.RegisterModel(new(User))
	orm.RunSyncdb("default", false, true)
}

func main() {

	o := orm.NewOrm()

	user := User{Name: "BeyondChampion"}

	// insert
	id, err := o.Insert(&user)
	fmt.Printf("ID: %d, ERR: %v\n", id, err)
	
}

Beego 增刪改查

package main

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

// Model Struct
type User struct {
	Id   int
	Name string `orm:"size(32)"`
}

func init() {
	orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/school?charset=utf8", 30)
	orm.RegisterModel(new(User))
	orm.RunSyncdb("default", false, true)
}

func main() {
	o := orm.NewOrm()

	user := User{Name: "ArthurGuo"}

	// insert
	id, err := o.Insert(&user)
	fmt.Printf("ID: %d, ERR: %v\n", id, err)

	// update
	user.Name = "Guo"
	num, err := o.Update(&user)
	fmt.Printf("NUM: %d, ERR: %v\n", num, err)

	u := User{Id: user.Id}
	err = o.Read(&u)
	fmt.Printf("ERR: %v\n", err)

	//num, err = o.Delete(&u)
	//fmt.Printf("NUM: %d, ERR: %v\n", 1, err)
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章