1.无法go get依赖包: golang 1.13 可以直接执行以下命令,使用国内七牛云的 go module 镜像:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
使用阿里云的 golang 国内镜像:
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
2.接口返回JSON格式数据 在公共目录下新建ToJson.go文件:
package common
type ToJson struct {
Code int `json:"code"`
Msg string `json:"msg"` //指定字段返回格式,小写编译报错
Data interface{} `json:"data"` //返回任意类型数据
}
控制器中调用:
this.Data["json"]=common.ToJson{1, "成功",‘data数据’}
this.ServeJSON()
3.model的使用: models目录下新建user.go 包名定义为models:
package models
import (
"github.com/astaxie/beego/orm"
)
type User struct {
Id int `json:"id"`
Name string `json:"name"`
}
func NewUser() *User {
return &User{} //返回当前结构体对象
}
//插入数据
func (this *User) Add(info User)(user User,err error){
_, err = orm.NewOrm().Insert(&info)
return info,err
}
//删除数据
func (this *User) Del (user User) (int64, error){
id, err := orm.NewOrm().Delete(&user)
return id, err
}
//编辑数据
func (this *User) Edit(user User)(int64, error){
if orm.NewOrm().Read(&user) == nil {
user.Name = "new name"
id, err := orm.NewOrm().Update(&user);
return id, err
}else {
return 0, nil;
}
}
//编辑数据
func (this *User) Find(user User)(error){
err := orm.NewOrm().Read(&user)
return err
}
//编辑数据
func (this *User) List() (user []User, rows int64, err error){
rows, err = orm.NewOrm().QueryTable("hc_user").All(&user)
return user,rows,err
}
4.数据库连接: 在models目录新建models.go文件插入以先代码:
package models
import (
"github.com/astaxie/beego/orm"
)
func init() {
orm.RegisterDriver("mysql", orm.DRMySQL)
models := []interface{}{
NewUser(),//新建的model都需要对应添加进来
}
orm.RegisterModelWithPrefix("hc_", models...)
orm.RegisterDataBase("default", "mysql", "file:file@tcp(127.0.0.1:3306)/file?charset=utf8", 30)
orm.Debug = true
orm.RunSyncdb("default", false, false)
}
5.控制器中调用model插入数据库:
user := models.User{Name: "userName"}
models.NewUser().Add(user) //映射model中的user模型的add方法,公共查询方法直接放在models.go文件