上次粗略讲了下beego的学习途径和go的环境配置,现在讲一下基础的数据库配置,redis配置和mongo配置。
先整理一下beego的结构框架:
1.conf 配置目录,server.ini(配置文件)
2.main.go 入口主文件
3.models 数据库操作目录
4.controler 控制层目录
5.static 前端静态目录 存放前端合作组的css,js,img等文件
6.views 前端静态页面目录 html 存放静态模板文件
7. 以上都是基本的目录结构,其实没基本的配备目录还应该有routers(这个可以根据功能模板拆分成各个功能路由,比如 member_router.go(用户功能模块路由),market_router.go(市场模块路由)),整体打包成router包,由main.go引入包
8.其他的我们自己抽象出来的目录结构: gutils目录(常用功能方法,依然可分目录,目前有conf(系统配置包),gredis(redis操作包)),logs目录(日志包),initial(连接初始化包),这个看个人设定,可因项目而异,我简单介绍这两个。
现在我们讲一下我们今天的主题。redis和mongo,mysql的配置。以下有些函数是调用第三包的函数,记得去git上面下载第三方包。包名在导入的时候已经给出了
上述到里面有个conf目录,目录可添加文件server.ini文件设置参数 ,结构为"MongoPass=test123456"(mongo数据库的密码参数和值),mysql和redis相关类似,这里只谈到如何配置参数。现在我来讲一下如何利用这些参数,我们项目在gutils目录再独立一个conf目录,定义个一个 SvrConfig *config.Config类型的指针变量,利用init()函数初始化配置,引入conf目录的文件path = utils.ExtractFileDir(utils.GetApplicationFullName()) + "\\conf\\server.ini",获取参数值赋值给SvrConfig这个指针变量。
initial包里面建立initsql函数,引入import ("gutils/conf "_ "github.com/go-sql-driver/mysql" "github.com/astaxie/beego/orm" "github.com/astaxie/beego") ,获取参数配置,进行数据库链接初始化,orm.RegisterDriver("mysql", orm.DRMySQL),orm.RegisterDataBase("default", "mysql",........),这里就完成了数据库的链接了。
redis和mongo类似mysql这种操作,不过接连的操作方式不一样而已,还是引入的包不一样而已。
redis import ("gutils/conf " "github.com/garyburd/redigo/redis" "github.com/astaxie/beego")
mongoimport ("gutils/conf " mgo "gopkg.in/mgo.v2" "github.com/astaxie/beego")
下期我要记录的就是mysql orm操作和redis,mongo的操作。