gorose orm+dotweb框架快速构建go web网站实战(三)
构建入口main主文件
简洁之道
为了尽可能的凝练, 我们在入口中, 只需要加载核心组件即可
package main import ( // 引入项目的路由 "github.com/gohouse/kuaixinwen/router" // 引入驱动 . "github.com/gohouse/kuaixinwen/bootstrap" // fmt包 "fmt" ) func main() { fmt.Println("start...,port:8888, visit: http://localhost:8888") // 加载数据库 defer DB.Close() // 加载路由 router.Run(App.HttpServer) // 启动web服务 err := App.StartServer(8888) if err!=nil{ fmt.Println(err) } }
到这里, main.go
文件已经全部完成, 文中有对应的注释, 另外, 一些对象, 我们需要对他做一些说明:
main
函数的 DB
和 App
这两个是
bootstrap
驱动之后的gorose和dotweb对象, 具体如下所示main
包中引入的 bootstrap
目录如下说明
/bootstrap/bootRouter.go
文件这个是路由驱动, 网站的所有请求驱动, 都是由他来完成
内容非常简单:package bootstrap import ( "github.com/devfeel/dotweb" ) var App *dotweb.DotWeb func init() { //init DotApp App = dotweb.New() //set log path App.SetLogPath("../log") }
/bootstrap/bootDatabase.go
文件在这里统一加载数据库配置和驱动, 如需变动数据库相关信息, 只需要维护这一个驱动即可
内容非常简单:package bootstrap import ( // 引入gorose "github.com/gohouse/gorose" // 引入数据库配置 "github.com/gohouse/kuaixinwen/config" // 引入mysql驱动, 这里选择对应的数据库驱动即可 _ "github.com/go-sql-driver/mysql" ) // 数据库链接对象 var DB gorose.Connection func init() { var err error // 装配数据库信息, 并加载database // config.DbConfig 为数据库配置信息 DB,err = gorose.Open(config.DbConfig) if err!=nil{ panic("数据库链接失败") } errs := DB.Ping() if errs!=nil{ panic("数据库链接失败") } }
对应的
/config/database.go
的配置如下package config var DbConfig = map[string]interface{}{ "default": "mysql_dev", // 默认数据库配置 "SetMaxOpenConns": 300, // (连接池)最大打开的连接数,默认值为0表示不限制 "SetMaxIdleConns": 10, // (连接池)闲置的连接数, 默认-1 "mysql_dev": map[string]string{// 定义名为 mysql_dev 的数据库配置 "host": "192.168.200.248", // 数据库地址 "username": "gcore", // 数据库用户名 "password": "gcore", // 数据库密码 "port": "3306", // 端口 "database": "test", // 链接的数据库名字 "charset": "utf8", // 字符集 "protocol": "tcp", // 链接协议 "prefix": "", // 表前缀 "driver": "mysql", // 数据库驱动(mysql,sqlite,postgres,oracle,mssql) }, }
到这里, 驱动全部完成
main
中引入的 路由 router
见下一节介绍
相关推荐
jiong 2020-02-22
hithyc 2014-06-08
dilipy 2015-05-16
shiaisun 2015-07-02
zhejingyuan 2011-08-11
michealming 2011-04-11
mingwei 2011-02-26
zbcaicai 2019-10-25
数据库工具开发 2015-02-13
shouen 2015-03-10
selaginella 2014-11-14
huiyi00 2014-01-02
AKbiubiu 2013-09-02
huiyi00 2013-05-04
selaginella 2013-03-20
hehezhou 2014-09-02
AKbiubiu 2012-12-19
j0lin 2012-06-14