package models import ( "../pkg/setting" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/xormplus/xorm" "log" ) var Engine *xorm.Engine func Setup() { var err error // restful 接口的 数据库初始化 if err := SQLInit("mysql", fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local", setting.DatabaseSetting.User, setting.DatabaseSetting.Password, setting.DatabaseSetting.Host, setting.DatabaseSetting.Name), 1000, 10,setting.DatabaseSetting.ShowXormlog); err != nil { log.Fatal(err.Error()) fmt.Println("dbs 数据库初始化失败 ") } if err != nil { fmt.Println("dbs 数据库初始化失败 ") log.Fatalf("models.Setup err: %v", err) } } func SQLInit(driverName, dataSourceName string, maxOpenConns, maxIdleConns int, showlog bool) error { if Engine == nil { var err error if Engine, err = xorm.NewEngine(driverName, dataSourceName); err != nil { return err } if showlog { Engine.ShowSQL(true) } Engine.SetMaxIdleConns(maxIdleConns) Engine.SetMaxOpenConns(maxOpenConns) } return nil }