1.安装go配置环境变量

2.安装gorm(Goland编辑器举例):

        go envw GO111MODULE=on
        go envw GOPROXY=https://goproxy.cn,direct

3.初始化项目(首先需要工作目录新建bin文件夹pkg文件夹src文件夹):

        go mod init

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命令(去除不需要依赖):

        go mod tidy

8.Beego框架命令重要部分

        8.1 bee查看框架还是安装成功
        8.2 bee new 项目名称初始项目
        8.3 bee run编辑运行项目
        8.4 bee pack 目录用来发布应用时候打包,会把项目打包zip 包,这样我们部署时候直接打包之后的项目上传解压可以部署
        8.5 bee bale 命令这个命令目前仅限内部使用,具体实现方案未完善,主要用来压缩所有的静态文件变成一个变量申明文件,全部编译二进制文件里面用户发布时候携带静态文件,包括 jscssimgviews
最后启动运行时进行非覆盖式的自解压
        8.6 bee version 命令这个命令动态获取 bee、beego 和 Go 的版本,这样一旦用户出现错误可以通过命令查看当前版本
        8.7 generate 命令这个命令是用来自动化生成代码的,包含了从数据库一键生成 model,还包含scaffold 的,通过这个命令,让大家开发代码不再慢

               8.7.1 generate scaffold

                8.7.2 generate model

                8.7.3 generate controller

                8.7.4 generate view

                8.7.5 generate migration

                8.7.6 generate docs

                8.7.7 generate routers:是从原来beego中剥离出来的功能。在早期,beego项目必须在启动时候才会触发生成路由文件

                8.7.8 generate test:

                8.7.9 generate appcode:

                8.7.10 generate router:

        8.8 migrate 命令:这个命令是应用数据库迁移命令,主要是用来每次应用升级降级的 SQL 管理

                8.8.1:bee migrate

                8.8.2:bee migrate rollback 

                8.8.3:bee migrate reset

                8.8.4:bee migrate refresh 

        8.9 dockerize 命令:这个命令可以通过生成 Dockerfile 文件来实现 docker 化你的应用

9.Goweb 配置(全局配置:相当于Gin框架yaml文件):

        9.1:设置参数

        mysql_user = “root

        mysql_password = “root

        mysql_host = “127.0.0.1:3306”

        mysql_dbname = “xst”

        9.2:获取参数

        beego.AppConfig.String(“mysql_user“)

        beego.AppConfig.String(“mysql_password“)

        beego.AppConfig.String(“mysql_host“)

        beego.AppConfig.String(“mysql_dbname”)

10.分组配置(全部配置:多环境可随意切换设置不同运行级别:由runmode决定读取默认参数)):

                runmode = “test1″    决定使用那个配置

                [test1]

                mysql_user = “root

                mysql_password = “root

                mysql_host = “127.0.0.1:3306”

                mysql_dbname = “testdb1″

                [test2]

                mysql_user = “root”

                mysql_password = “root”

                mysql_host = “127.0.0.1:3306”

                mysql_dbname = “testdb2″

                [test3]

                mysql_user = “root”

                mysql_password = “root”

                mysql_host = “127.0.0.1:3306”

                mysql_dbname = “testdb3″

11.文件包含:关键词include引入服务关键词

12.路由绑定

                路由绑定方法1

        beego.Get(“/hello“, func(ctx *context.Context) {

                ctx.Output.Body([]byte(“hi beego”))

        })

        路由绑定方法2

        func Index(ctx *context.Context) {

                ctx.Output.Body([]byte(“hello beego”))

        }

        路由访问

        beego.Post(“/index“, Index)

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类型

        获取整形
        id, _ := c.GetInt(“uid“)

        获取字符串类型
        username := c.GetString(“username“, “none“)

        获取浮点型
        balance, _ := c.GetFloat(“balance“, 0)

16.数据库操作

        package controllers

        import (
            “fmt
            beego “github.com/beego/beego/v2/server/web
            “github.com/beego/beego/v2/client/orm
            _ “github.com/go-sqldriver/mysql
        )

        type UserController struct {
            beego.Controller
        }

        //定义结构
        type Users struct {
            Id uint
            Username string
            Sex string
            Age uint8
        }

        //指定表名
        func (u *Users) TableName() string {
            returnusers
        }

        //初始
        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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注