go项目中使用数据库的配置文件
生活随笔
收集整理的這篇文章主要介紹了
go项目中使用数据库的配置文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先在項目的根目錄下創建一個config.json文件,內容如下:
{"database": {"Dialect": "mysql","Database": "***", /*數據庫名*/"User": "***",/*用戶名*/"Password": "***",/*密碼*/"Charset": "utf8", /*字符集 utf8 */"Host": "127.0.0.1", /*數據庫地址*/"Port": 3306, /*數據庫端口*/"MaxIdleConns": 5, /*空閑時最大的連接數*/"MaxOpenConns": 10 /*最大的連接數*/} }然后在根目錄下創建一個config文件夾,然后創建config.go文件,內容如下:
package configimport ("github.com/goes/logger""github.com/goes/utils""encoding/json""fmt""io/ioutil""os""regexp" )var jsonData map[string]interface{}func initJSON() {bytes, err := ioutil.ReadFile("./config.json")if err != nil {logger.Error("ReadFile: ", err.Error())os.Exit(-1)}// 去除注釋configStr := string(bytes[:])reg := regexp.MustCompile(`/\*.*\*/`)configStr = reg.ReplaceAllString(configStr, "")bytes = []byte(configStr)if err := json.Unmarshal(bytes, &jsonData); err != nil {logger.Log("json parse fail", err.Error())os.Exit(-1)} }type dbConfig struct {Dialect stringDatabase stringUser stringPassword stringCharset stringHost stringPort intURL stringMaxIdleConns intMaxOpenConns int }var DBConfig dbConfigfunc initDB() {utils.SetObjectByJSON(&DBConfig, jsonData["database"].(map[string]interface{}))url := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=True&loc=Local",DBConfig.User,DBConfig.Password,DBConfig.Host,DBConfig.Port,DBConfig.Database,DBConfig.Charset)DBConfig.URL = url }func init() {initJSON()initDB() }項目中的使用方法如下:
/*** 初始化啟動數據庫服務*/ func init() {fmt.Println("數據庫持久化服務器啟動:")db, err := gorm.Open(config.DBConfig.Dialect, config.DBConfig.URL)if err != nil {fmt.Println("open db connect error.", err)os.Exit(-1)}db.DB().SetMaxIdleConns(config.DBConfig.MaxIdleConns)db.DB().SetMaxOpenConns(config.DBConfig.MaxOpenConns)model.DB = db }總結
以上是生活随笔為你收集整理的go项目中使用数据库的配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go-ipfs-api在项目中的使用
- 下一篇: zookeeper for mac安装