加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang、beego初探

发布时间:2020-12-16 18:41:53 所属栏目:大数据 来源:网络整理
导读:http://beego.me/docs/mvc/model/object.md 入口文件main.go package main import ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" "testslim/models" _ "testslim/routers" ) func init() { orm.Register

http://beego.me/docs/mvc/model/object.md


入口文件main.go

package main


import (
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"testslim/models"
_ "testslim/routers"
)


func init() {
orm.RegisterDriver("mysql",orm.DR_MySQL)
orm.RegisterDataBase("default","mysql","test:pwd@tcp(ip:3306)/tablename?charset=utf8")
orm.RegisterModelWithPrefix("he_",new(models.Students))
}


func main() {
beego.Run()
}

models目录下存放model文件

models.go:

package models


type Students struct {
Id int
Nickname string
CreateTime int
}


controllers目录下存放控制器

package controllers


import (
//"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
"testslim/models"
//"time"
)

func (t *TestController) Testmodel() {
o := orm.NewOrm()
o.Using("default")


//ins
// student := new(models.Students)
// student.Nickname = "Test From Go"
// student.CreateTime = int(time.Now().Unix())
//fmt.Println(o.Insert(student))


//read
// student := models.Students{Id: 10001}
// err := o.Read(&student)
// if err == orm.ErrNoRows {
// t.Data["json"] = "No rows"
// } else if err == orm.ErrMissPK {
// t.Data["json"] = "No pk"
// } else {
// t.Data["json"] = student
// }


var stds []*models.Students
o.QueryTable("he_students").Limit(10).All(&stds)
t.Data["json"] = map[string][]*models.Students{"stds": stds}
t.ServeJson()
}


最后在路由routers中配置router.go

package routers


import (
"github.com/astaxie/beego"
"testslim/controllers"
)


func init() {
beego.Router("/",&controllers.MainController{})
//beego.Router("/test",&controllers.TestController{})
beego.AutoRouter(&controllers.TestController{})
}


运用以上的操作可以完成一套简单的接口

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读