gorose orm+dotweb框架快速構建go web網站實戰(三)

構建入口main主文件

簡潔之道

爲了儘量的凝練, 咱們在入口中, 只須要加載核心組件便可mysql

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 文件已經所有完成, 文中有對應的註釋, 另外, 一些對象, 咱們須要對他作一些說明:git

main 函數的 DBApp
這兩個是 bootstrap 驅動以後的gorose和dotweb對象, 具體以下所示

main 包中引入的 bootstrap 目錄以下說明

  • /bootstrap/bootRouter.go 文件 github

    這個是路由驅動, 網站的全部請求驅動, 都是由他來完成
    內容很是簡單:web

    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 文件 sql

    在這裏統一加載數據庫配置和驅動, 如需變更數據庫相關信息, 只須要維護這一個驅動便可
    內容很是簡單:數據庫

    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的配置以下bootstrap

    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)
        },
    }

到這裏, 驅動所有完成 oracle

main 中引入的 路由 router 見下一節介紹tcp


本項目源碼: https://github.com/gohouse/kuaixinwen函數

相關文章
相關標籤/搜索