本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

配置文件

一、配置信息:mysql.json

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

二、加载配置文件

package data_source import ( "os" "io/ioutil" "encoding/json" ) 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.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{}) }

1304人已阅读,今天你学习了吗?

添加新回复
目录