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)
}

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