一、配置文件
conf/mysql_conf
#mysql
db_alias = "default"
db_name = "数据库名称"
db_user = "root"
db_pwd = "数据库密码"
db_host ="localhost"
db_port = 3306
db_charset = "utf8"
conf/app.conf中引入mysql_conf
include "mysql_conf"
二、读取配置文件/链接数据库
dao/dao.go
package dao
import (
"fmt"
"github.com/beego/beego/v2/client/orm"
"github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
)
func init() {
// 链接名称
dbAlias, _ := web.AppConfig.String("db_alias")
// 数据库名称
dbName, _ := web.AppConfig.String("db_name")
// 用户名
dbUser, _ := web.AppConfig.String("db_user")
// 密码
dbPwd, _ := web.AppConfig.String("db_pwd")
// 数据库IP
dbHost, _ := web.AppConfig.String("db_host")
// 数据库端口号
dbPort, _ := web.AppConfig.String("db_port")
// charset
dbCharset, _ := web.AppConfig.String("db_charset")
mode, _ := web.AppConfig.String("runmode")
orm.RegisterDriver("mysql", orm.DRMySQL)
orm.RegisterDataBase(dbAlias, "mysql", dbUser+":"+dbPwd+"@tcp("+dbHost+":"+dbPort+")/"+dbName+"?charset="+dbCharset)
//如果是开发模式则显示命令信息
isDev := (mode == "dev")
// 自动创建表
err := orm.RunSyncdb("default", false, isDev)
if err != nil {
fmt.Println("错误", err)
}
if isDev {
orm.Debug = isDev
}
}
三、模型创建
// models/user.go
package models
import (
"time"
"github.com/beego/beego/v2/client/orm"
)
type User struct {
Id int `orm:"pk;auto"`
UserName string `orm:"description(用户名)"`
Password string `orm:"description(密码)"`
IsAdmin int `orm:"description(1是管理员,2是普通用户);default(2)"`
CreateTime time.Time `orm:"auto_now_add;type(datetime);description(创建时间)"`
Cover string `orm:"description(头像)"`
}
func (u *User) TableName() string {
return "sys_user"
}
func init() {
orm.RegisterModel(new(User))
}
四、模型引用
package cms
import (
_ "go_blob/models"
beego "github.com/beego/beego/v2/server/web"
)
type LoginController struct {
beego.Controller
}
func (l *LoginController) Get() {
l.TplName = "index.html"
}
五、路由文件配置
package routers
import (
"go_blob/controllers/cms"
beego "github.com/beego/beego/v2/server/web"
)
func init() {
beego.Router("/cms", &cms.LoginController{})
}
六、mian文件配置
main.go
package main
import (
_ "go_blob/dao"
_ "go_blob/routers"
"github.com/beego/beego/v2/client/orm"
beego "github.com/beego/beego/v2/server/web"
)
func main() {
orm.RunCommand()
beego.Run()
}