golang : MVC之models - Go语言中文社区

golang : MVC之models


背景:
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这个用户已经添加了进来
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/textdemo123/article/details/102747269
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-24 22:14:45
  • 阅读 ( 1484 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢