beego
| 12
 
 | export GOPATH="$HOME/go"export PATH="$GOPATH/bin:$PATH"
 
 | 
| 12
 3
 4
 
 | 创建项目bee new hello
 运行项目
 bee run
 
 | 
控制器
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | package controllers
 import (
 beego "github.com/beego/beego/v2/server/web"
 )
 
 type MainController struct {
 beego.Controller
 }
 
 func (c *MainController) Get() {
 c.Data["data"] = "hello myself"
 c.TplName = "test.html"
 }
 
 | 
渲染
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | <!DOCTYPE html><html lang="en">
 <head>
 <meta charset="UTF-8">
 <title>注册界面</title>
 </head>
 <body>
 {{.data}}
 </body>
 </html>
 
 | 
构造控制器
| 12
 3
 
 | type GetController struct {beego.Controller
 }
 
 | 
| 12
 3
 4
 
 | func (b *GetController) Get() {b.Data["data"] = "hello get"
 b.TplName = "test.html"
 }
 
 | 
router.go
| 1
 | beego.Router("/get", &controllers.GetController{})
 | 
先router.go路由进行匹配,路由器在到控制器,然后控制器对视图进行渲染
beego 内嵌ORM框架 操作数据库
创建表
main.go 引入
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | package models
 import (
 "github.com/beego/beego/v2/client/orm"
 _ "github.com/go-sql-driver/mysql"
 )
 
 type User struct {
 Id int
 Name string
 Passwd string
 }
 
 func init(){
 orm.RegisterDataBase("default", "mysql", "root:luo19961001@tcp(127.0.0.1:8889)/class?charset=utf8")
 orm.RegisterModel(new(User))
 orm.RunSyncdb("default", false, true)
 }
 
 | 
插入
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 
 | package controllers
 import (
 "github.com/beego/beego/v2/client/orm"
 beego "github.com/beego/beego/v2/server/web"
 "hello/models"
 )
 
 type MainController struct {
 beego.Controller
 }
 type GetController struct {
 beego.Controller
 }
 
 func (c *MainController) Get() {
 o := orm.NewOrm()
 user := models.User{}
 user.Id = 2
 user.Name = "admin"
 user.Passwd = "admin123"
 o.Insert(&user)
 c.Data["data"] = "hello xxx"
 c.TplName = "test.html"
 }
 func (c *MainController) Post() {
 c.Data["data"] = "hello xxx"
 c.TplName = "test.html"
 }
 
 func (b *GetController) Get() {
 b.Data["data"] = "hello get"
 b.TplName = "test.html"
 }
 
 |