当前位置:网站首页>gin 配置文件
gin 配置文件
2022-07-01 00:41:00 【weixin_38107457】

一、配置信息: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:%[email protected](%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"边栏推荐
猜你喜欢

Analyze the maker education path integrating the essence of discipline

ESP8266 RC522

Q play soft large toast to bring more comfortable sleep

Note d'étude du DC: zéro dans le chapitre officiel - - Aperçu et introduction du processus de base

Docker 部署 MySQL 8

5. TPM module initialization

Koa koa combine routes sub route management

蒹葭苍苍,白露为霜。

Service

2021电赛F题openmv和K210调用openmv api巡线,完全开源。
随机推荐
OCR的一些项目
【学习笔记】倍增 + 二分
孔乙己第一问之服务通信知多少?
[network packet loss and network delay? This artifact can help you deal with everything!]
闭锁继电器YDB-100、100V
Double position relay dls-5/2 dc220v
[learning notes] double + two points
Impact relay zc-23/dc220v
解决IDEA:Class ‘XXX‘ not found in module ‘XXX‘
解析融合学科本质的创客教育路径
DLS-42/6-4 DC110V双位置继电器
【学习笔记】简单dp
用Steam教育启发学生多元化思维
Docker deployment MySQL 8
TypeError: Argument ‘angle‘ can not be treated as a double
冲击继电器ZC-23/DC220V
Flutter Error: Cannot run with sound null safety, because the following dependencies don‘t support
Training discipline principle of robot programming
[LeetCode] 两数之和【1】
mustache语法