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

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

構建入口main主檔案

簡潔之道

為了儘可能的凝練, 我們在入口中, 只需要載入核心組件即可

package mainimport (    // 引入項目的路由    "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 函數的 DBApp
這兩個是 bootstrap 驅動之後的gorose和dotweb對象, 具體如下所示

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

  • /bootstrap/bootRouter.go 檔案

    這個是路由驅動, 網站的所有請求驅動, 都是由他來完成
    內容非常簡單:

    package bootstrapimport (    "github.com/devfeel/dotweb")var App *dotweb.DotWebfunc init() {    //init DotApp    App = dotweb.New()    //set log path    App.SetLogPath("../log")}
  • /bootstrap/bootDatabase.go 檔案

    在這裡統一載入資料庫配置和驅動, 如需變動資料庫相關資訊, 只需要維護這一個驅動即可
    內容非常簡單:

    package bootstrapimport (    // 引入gorose    "github.com/gohouse/gorose"    // 引入資料庫配置    "github.com/gohouse/kuaixinwen/config"    // 引入mysql驅動, 這裡選擇對應的資料庫驅動即可    _ "github.com/go-sql-driver/mysql")// 資料庫連結化物件var DB gorose.Connectionfunc 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 configvar 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 見下一節介紹

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.