golang、beego初探

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{})
}


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值