版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
背景:
MVC是系统开发常用的框架,Models 模型层用来处理数据 ,本篇使用beego框架,演示 models层的用法
代码:
在models 路径下面创建一个go文件 ,用来处理数据库链接,CRUD等相关操作
package models
import (
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
var (
db orm.Ormer
)
//UserInfo is defined a struct of user
type UserInfo struct {
ID int64
Username string
Password string
}
// Init connect database
func init() {
orm.Debug = true //打开调试模式
orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8", 30)
orm.RegisterModel(new(UserInfo))
db = orm.NewOrm()
}
//Adduser to add a user
func Adduser(userinfo *UserInfo) (int64, error) {
id, err := db.Insert(userinfo)
return id, err
}
这里需要注意 包里面的init方法 比较特殊 ,函数名字要小写
再实现一个controller
package controllers
import (
"WEB/models"
"strconv"
"github.com/astaxie/beego"
)
//ModuleController is a Controller to handel struct of models
type ModuleController struct {
beego.Controller
}
//Get is a function
func (c *ModuleController) Get() {
//c.Ctx.WriteString("test moudle")
user := models.UserInfo{Username: "wangwu", Password: "56789"}
id, _ := models.Adduser(&user)
c.Ctx.WriteString(strconv.FormatInt(id, 10))
}
主要操作是
1.创建用户
2.执行添加用户操作
运行
bee run
浏览器可以查看到输出的用户id
http://127.0.0.1:8080/modulecontrol
输出 3
查看数据库
wangwu这个用户已经添加了进来