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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。beego 的架构beego 的整体设计架构如下所示:       beego 是基于八大独立的模块构建的,是一个高度解耦的框架。当初设计 beego 的时候就是考虑功能模块化,用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块,例如:你可以使用 cache 模块来做你的缓存逻辑;使用日志模块来记录你的操作信息;使用 config 模块来解析你各种格式的文件。所以 beego 不仅可以用于 HTTP 类的应用开发,在你的 socket 游戏开发中也是很有用的模块,这也是 beego 为什么受欢迎的一个原因。大家如果玩过乐高的话,应该知道很多高级的东西都是一块一块的积木搭建出来的,而设计 beego 的时候,这些模块就是积木,高级机器人就是 beego。至于这些模块的功能以及如何使用会在后面的文档会逐一介绍。beego 的执行逻辑      既然 beego 是基于这些模块构建的,那么他的执行逻辑是怎么样的呢?beego 是一个典型的 MVC 架构,他的执行逻辑如下图所示:beego 项目结构一般的 beego 项目的目录如下所示:从上面的目录结构我们可以看出来 M(models 目录)、V(views 目录)和 C(controllers 目录)的结构, main.go 是入口文件。你可以通过 bee 工具来新建项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值