欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

go项目中使用数据库的配置文件

发布时间:2025/3/21 数据库 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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项目中使用数据库的配置文件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。