beego框架

Beego学习-01 基础篇

心已入冬 提交于 2020-02-26 12:26:24
概述 beego是一个快速开发go应用的http框架,他可用来快速开发API、Web以及后端服务等各种应用。 beego的架构 cache 缓存模块 config 配置模块 context 上下文模块 logs 日志模块 orm 和数据库相关的操作 session httplib 和网络相关的模块 beego执行逻辑 页面(V)----------控制(C)-----------数据库操作(M) beego项目目录 conf 配置文件 controllers 控制层 main.go 主入口 models 里面放的是和数据库有关的 static 放的是静态文件(html css .js) views 页面展示 beego的命令 new:基于网站开发(要在gopath环境下) api:基于手机接口开发 run:运行(项目目录下) eg. bee new project-name bee api api-name bee run beego参数配置 系统配置: appname=project-name httpport=端口 runmode=dev(开发环境)/prod(正式环境)/test 通过beego.Appname="beepkg"进行修改 应用配置: mysqluser=" " mysqlpass=" " mysqlurl=" " mysqldb=" " beego

beego orm mysql

余生颓废 提交于 2020-02-20 04:37:05
beego框架中的rom支持mysql 项目中使用到mvc模式,总结下使用方式; models中 package models import ( //使用beego orm 必备 "github.com/astaxie/beego/orm" //使用的数据库 必备 _ "github.com/go-sql-driver/mysql" // import your used driver ) type BlogLogin struct { Id int64 Name string Pwd string WechatId string WechatInfo string CreateTime string LastLoginIp string LastLoginTime string } func RegisterDB() { //注册 model orm.RegisterModel(new(BlogLogin)) //注册默认数据库 orm.RegisterDataBase("default", "mysql", "username:password@/databasename?charset=utf8") //密码为空格式 当model创建了一个type ,在RegisterDB中调用该方法创建表 //orm.RunSyncdb("default", false, true)

golang beego框架对运行异常的处理

六眼飞鱼酱① 提交于 2020-02-05 07:53:36
运行时异常 panic 在通常情况下,函数向其调用方报告错误的方式都是返回一个 error 类型的值。但是当遇到致命错误的时候,很可能会使程序无法继续运行。Go推荐通过调用 panic 函数来报告致命错误,它会停止当前控制流程,并引发一个运行时恐慌。例如: package main import "errors" func main() { outerFunc() } func outerFunc() { innerFunc() } func innerFunc() { panic(errors.New("an intended fatal error")) } 程序执行后的结果为: D:\gotest>go run main.go panic: an intended fatal error goroutine 1 [running]: main.innerFunc(...) D:/gotest/main.go:14 main.outerFunc(...) D:/gotest/main.go:10 main.main() D:/gotest/main.go:6 +0x77 exit status 2 当调用 innerFunc 函数中的 panic 函数后, innerFunc 的执行会被停止。紧接着,流程控制权会交给调用方 outerFunc 函数。然后, outerFunc

beego 比 laravel 速度快多少

江枫思渺然 提交于 2020-01-21 04:57:59
最近在研究go的并发协程如何跟现有的PHP业务系统更好的融合,偶然之间发现beego这款go版mvc框架。纳尼?苍天啊!给PHPer们一点儿活路吧。当然,当下对于web业务系统(低核心计算,低并发)的开发效率和稳定方面,php还是优势大大滴。laravel的开发优势不用多说了,最优雅的PHP框架确实不是吹的,也是PHP开发吊丝们跟随PHP7一起逆袭的首选。尽管路由加载速度慢了些,但开发效率高,代码优雅。 本偏文章不探究beego 和 laravel 的开发效率,只想看看同样的接口,beego究竟比laravel快多少。 step1 搭建laravel 框架 在centos7的搭建laravel5.8 写一个查看数据库所有产品的api. 并配置好相关路由 step2 搭建beego框架 yum install golang 安装go go get -u github.com/astaxie/beego 安装beego go get github.com/beego/bee 安装bee工具 bee new imd 创建新项目 bee generate scaffold products -fields=“id:int64,pname:string,status:int” -driver=mysql -conn=“root:@tcp(127.0.0.1:3306)/mars”

GoLang系列-beego框架的安装(一)

送分小仙女□ 提交于 2019-12-30 04:56:43
GoLang系列-beego框架的安装(一) 前言:到这里相信大家应该对Go语言有了大概的了解,作为一个快速增长的开源编程语言,构建简单、快速并且可靠,那么在Go语言下有哪些Web开发框架呢?先放一张人气图如下: 当然上图仅供参考,但是可以说明的是Go下Web框架用的最多的还是Gin 和 Beego ;Gin作为一个Go语言写的HTTP Web框架,它提供了Martini风格的API并有更好的性能,而Beego同样作为Go语言下开源的,高性能Web框架他的性能虽不敌Gin,但是从各个功能完善角度讲,它是有非常大的优势的, 此篇博客将主要针对于Beego框架的使用进行介绍 Beego安装 (我这里主要以window为操作系统,其他操作系统安装原理一样) 1.首先安装Go https://golang.org/dl/ 上图为不同操作系统下的安装文件,我这里环境为Windows,下载完成之后在系统变量里配置环境变量,我这里安装到D盘Golang目录下,所以在path下添加: D:\Golang\bin 配置完成之后检查是否安装成功,如下可以看到已经成功安装Go,版本为1.13.5 C:\Users\Administrator>go version go version go1.13.5 windows/amd64 接下来我们配置GOPATH,也就是工作空间目录

beego框架开发投票网站(1) beego基础之运行逻辑

青春壹個敷衍的年華 提交于 2019-12-26 06:26:36
本文档需结合beego官方文档食用 博主也仅仅是边学边记录,不保证内容的正确性,请当做通俗读物来看待 首先 beego是一个基于go语言的框架 其次 beego是一个mvc框架 框架可以理解为对底层又封装了一次 mvc的意思是models(模型)views(视图)controllers(控制器) model 可以理解为数据库相关 view 可以理解为前端相关 controller可以理解为控制器 beego项目运行流程 我对这部分理解十分浅显 beego文档感觉还是不太友好 首先运行的是main.go的bee.run 在main函数之前init()总是优先运行的这是基础知识 bee.run所做的工作beego文档讲述的十分清晰 在这里我们只需要知道做了什么工作即可,不认识的名词都没关系,用到了回头看即可 beego文档 bee.run bee.run做了很多的准备工作,准备好了后开始监听端口,对内的监听在写文档时我也不知道是干嘛的。 一旦 run 起来之后,我们的服务就监听在两个端口了,一个服务端口 8080 作为对外服务,另一个 8088 端口实行对内监控 监听端口发现用户请求发生变化后 1.首先查找main中所注册的路由 2.找到对应的控制器 3.运行控制器中的处理逻辑,对数据库进行操作,如需返回模板则返回模板 举例 点击登录按钮,你的地址栏变成了8080/login

Windows安装beego框架环境

不打扰是莪最后的温柔 提交于 2019-12-25 18:32:33
1、到官网下载安装包,地址是:https://golang.org/dl/ ,自选对应环境; 2、在任意目录,新建文件夹E:\work\code\go,cmd进入该目录,执行 go env 查看环境配置; 3、设置golang的GOPATH环境 set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\Administrator\AppData\Local\go-build set GOEXE=.exe set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOOS=windows set GOPATH=C:\Users\Administrator\go set GOPROXY= set GORACE= set GOROOT=C:\Go set GOTMPDIR= set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64 set GCCGO=gccgo set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD= set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO

beego框架学习--beego orm映射

℡╲_俬逩灬. 提交于 2019-12-04 20:22:04
什么是ORM 即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。 在mvc里面models层一般是数据库读写逻辑的封装,数据层的一个映射,我们可以通过orm映射来自动生成models的脚手架. beego的orm模块支持三种数据库,其中就包括了mysql,这里以mysql为例子来实现orm映射. (1)数据库库部分   a1)连接数据库   a2)创建数据库imooc   a3)创建表格 user   a4)插入几条测试数据,现在已经具备了基本的数据库功能 (2)beego部分   a1)进入工程目录   a2)bee generate scaffold user -fields="id:int64,name:string,gender:int,age:int" -driver=mysql -conn="root:123@tcp(127.0.0.1:3306)/imooc"     b1)指令比较复杂,分开讲一下,generate是自动生成的意思,scaffold是脚手架的意思     b2)user是表名,命令会生成对应的文件,文件名称就是user     b3)-fields代表生成的实例的数据结构     b4)

beego的框架的学习记录

不打扰是莪最后的温柔 提交于 2019-12-04 02:02:37
beego框架学习笔记 首先从一个beego框架最简单的例子中分析改框架,官方文档上已经有的不细说。main.go的代码如下: package main import ( _ "myprojetc/routers" "github.com/astaxie/beego" ) func main() { beego.Run() } 可以从两个部分分析代码的运行,import包里面干的事情和beego中Run函数干的事情 import包 "myprojetc/routers" "github.com/astaxie/beego" 从代码看,这个文件引用了这两个包;再依次类推,其实也就没用到几个包,最终都指向了beego这个包。这可以这样理解,beego的init函数和一些全局变量的初始化设置。然后是这个过程中的init函数。 beego的Run函数 来源: https://www.cnblogs.com/meiguhuaxian/p/11827674.html

beego框架使用心得

匿名 (未验证) 提交于 2019-12-03 00:41:02
一、使用beego的http library 需要注意,默认情况下maxconnectionsperhost参数为-1,即默认不使用连接池。 问题 解决办法 :设置http使用tcp连接池,golang里面是自定义一个transport。主要参数如下: 二、使用beego的orm或者golang-mysql驱动(beego orm实际上就是使用golang-mysql的驱动)需要注意,默认情况下maxidleconns和maxopenconns参数为0,即默认不使用连接池,也不限制连接数。 问题 invalid connection 解决办法 :1.设置数据库连接池,以下是beego orm下设置参考: 文章来源: beego框架使用心得