1.安装go(配置环境变量)
2.安装gorm(Goland编辑器举例):
go env –w GO111MODULE=on
go env –w GOPROXY=https://goproxy.cn,direct
3.初始化项目(首先需要在工作目录新建bin文件夹,pkg文件夹,src文件夹):
4.依赖关系处理,根据go.mod文件
go mod tidy
5.安装Beego框架:
go get -u github.com/astaxie/beego
6.安装Beego工具:
go get -u github.com/beego/bee
go get -u github.com/beego/bee/v2
go install github.com/beego/bee/v2@master
安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以需要把 $GOPATH/bin 添加到环境变量中,才可以进行下一步。
7.如果还运行不起来,mod命令(去除不需要的依赖):
8.Beego框架命令(重要部分):
8.1 bee:查看框架还是否安装成功
8.2 bee new 项目名称:初始化项目
8.3 bee run:编辑运行项目
8.4 bee pack 目录用来发布应用的时候打包,会把项目打包成 zip 包,这样我们部署的时候直接把打包之后的项目上传,解压就可以部署了
8.5 bee bale 命令:这个命令目前仅限内部使用,具体实现方案未完善,主要用来压缩所有的静态文件变成一个变量申明文件,全部编译到二进制文件里面,用户发布的时候携带静态文件,包括 js、css、img 和 views。
最后在启动运行时进行非覆盖式的自解压
8.6 bee version 命令:这个命令是动态获取 bee、beego 和 Go 的版本,这样一旦用户出现错误,可以通过该命令来查看当前的版本
8.7 generate 命令:这个命令是用来自动化的生成代码的,包含了从数据库一键生成 model,还包含了 scaffold 的,通过这个命令,让大家开发代码不再慢
8.7.3 generate controller
8.7.7 generate routers:是从原来beego中剥离出来的功能。在早期,beego的项目必须在启动 的时候才会触发生成路由文件
8.8 migrate 命令:这个命令是应用的数据库迁移命令,主要是用来每次应用升级,降级的 SQL 管理
8.9 dockerize 命令:这个命令可以通过生成 Dockerfile 文件来实现 docker 化你的应用
9.Goweb 配置(全局配置:相当于Gin框架yaml文件):
beego.AppConfig.String(“mysql_user“)
beego.AppConfig.String(“mysql_password“)
beego.AppConfig.String(“mysql_host“)
beego.AppConfig.String(“mysql_dbname”)
10.分组配置(全部配置:多环境可随意切换(设置为不同的运行级别:由runmode决定读取默认参数)):
[test1]
[test2]
[test3]
11.文件包含:关键词:include(引入服务关键词)
12.路由绑定
beego.Get(“/hello“, func(ctx *context.Context) {
ctx.Output.Body([]byte(“hi beego”))
})
func Index(ctx *context.Context) {
ctx.Output.Body([]byte(“hello beego”))
}
13.数据绑定
beego.Get (router, beego.FilterFunc)
beego.Post (router, beego.FilterFunc)
beego.Any (router, beego.FilterFunc)
“/”的所有HTTP请求方法都由MainController控制器的对应函数处理
beego.Router(“/”,&controllers.MainController{))
// “/user”的所有HTTP请求方法都由UserControl1er控制器的对应函数处理
// 例如:GET/user请求由Get()函数处理,P0ST/user请求由Post()函数处理
beego.Router(“/user”,&controllers.UserController{})
14.渲染视图
type UserController struct { beego.Controller } func(c *UserController) Get(){ fmt.Println("数据测试") c.TplName = "user.tpl" }
15.获取参数,返回int类型
获取字符串类型
username := c.GetString(“username“, “none“)
获取浮点型
balance, _ := c.GetFloat(“balance“, 0)
16.数据库操作:
import (
“fmt“
beego “github.com/beego/beego/v2/server/web“
“github.com/beego/beego/v2/client/orm“
_ “github.com/go-sql–driver/mysql“
)
type UserController struct {
beego.Controller
}
//定义结构体
type Users struct {
Id uint
Username string
Sex string
Age uint8
}
//指定表名
func (u *Users) TableName() string {
return “users“
}
//初始化
func init() {
//注册数据库
orm.RegisterDataBase(“default“, “mysql“, “root:root@tcp(127.0.0.1:3306)/test?charset=utf8″)
//注册model
orm.RegisterModel(new(Users))
orm.Debug = true
}
//匿名函数
func(c *UserController) Get(){
//创建orm对象
o := orm.NewOrm()
//数据填充
user := new(Users)
user.Id = 3
user.Username = “mike”
user.Sex = “女”
user.Age = 18
//数据库操作
_, err := o.Insert(user)
fmt.Printf(“erros“,err)
c.TplName = “user.tpl”
}
原文地址:https://blog.csdn.net/masterphp/article/details/133876502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_40036.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!