使用toml配置文件连接数据库

yujie11 · 2020-11-10 10:18:39 · 944 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2020-11-10 10:18:39 的文章,其中的信息可能已经有所发展或是发生改变。

使用toml配置文件连接数据库

toml配置文件的内容

[dbservers.test]
host = "127.0.0.1"
port = 5432
dbname = "test"
user = "loginuser"
password = "123456"

[dbservers.dborm]
host = "127.0.0.1"
port = 5432
dbname = "test"
user = "loginuser"
password = "123456"

[dbservers.dbsqlx]
host = "127.0.0.1"
port = 5432
dbname = "test"
user = "loginuser"
password = "123456"

[redisservers.redis]
addr = "127.0.0.1:6379"
password = ""
db = 10

举个例子 dbservers.test。对于dbservers这个是下面配置信息中代表Config结构体中的DBServers部分。而.后面代表的则是map中的key。

config数据库的配置信息

首先toml对应的是一个Config的结构体、以下是结构体的代码

type Config struct {
   DBServers    map[string]DBServer    `toml:"dbservers"`
   RedisServers map[string]RedisServer `toml:"redisservers"`
}


// DBServer 表示DB服务器配置
type DBServer struct {
    Host     string `toml:"host"`
    Port     int    `toml:"port"`
    DBName   string `toml:"dbname"`
    User     string `toml:"user"`
    Password string `toml:"password"`
}

// RedisServer 表示 redis 服务器配置
type RedisServer struct {
    Addr     string `toml:"addr"`
    Password string `toml:"password"`
    DB       int    `toml:"db"`
}

解析配置文件

// New 解析toml配置
func New(tomlFile string) (*Config, error) {
   c := &Config{}
   if _, err := toml.DecodeFile(tomlFile, c); err != nil {
      return c, err
   }
   return c, nil
}

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

944 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传