gin 配置文件

 一、配置信息:mysql.json

{
  "host":"localhost",
  "port":"3306",
  "user_name":"root",
  "password":"Qazwsx123",
  "database":"gin_project",
  "logo_mode":true
}

二、加载配置文件

package data_source

import (
	"encoding/json"
	"io/ioutil"
	"os"
)

type MysqlConf struct {
	Host     string `json:"host"`
	Port     string `json:"port"`
	UserName string `json:"user_name"`
	Password string `json:"password"`
	DataBase string `json:"database"`
	LogoMode bool   `json:"logo_mode"`
}

func LoadMysqlConf() *MysqlConf {

	mysql_conf := MysqlConf{}

	file, err := os.Open("conf/mysql_conf.json")

	if err != nil {
		panic(err)
	}

	defer file.Close()

	byte_data, err2 := ioutil.ReadAll(file)

	if err2 != nil {
		panic(err2)
	}

	err3 := json.Unmarshal(byte_data, &mysql_conf)

	if err3 != nil {
		panic(err3)
	}

	return &mysql_conf

}

三、使用配置信息

package data_source

import (
	"github.com/jinzhu/gorm"
	"gin_project/models"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"fmt"
)

var Db *gorm.DB
var err error


func init() {

	mysql_conf := LoadMysqlConf()

	logo_mode := mysql_conf.LogoMode

	data_source := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8&parseTime=true&loc=Local",
				mysql_conf.UserName,
				mysql_conf.Password,
				mysql_conf.Host,
				mysql_conf.Port,
				mysql_conf.DataBase,


		)


	Db,err = gorm.Open("mysql",data_source)

	if err != nil {
		panic(err)
	}

	Db.LogMode(logo_mode)


	Db.DB().SetMaxOpenConns(100) // 最大连接数
	Db.DB().SetMaxIdleConns(50) // 最大空闲数

	Db.AutoMigrate(&models.User{})
}

四 使用 在main.go 引入

_ "gin_project/data_source"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值