diff --git a/lxDb/db.go b/lxDb/db.go index c7cc31e..25eb188 100644 --- a/lxDb/db.go +++ b/lxDb/db.go @@ -22,14 +22,16 @@ import ( // DB2.0 数据库连接 gorm2.0 var DBS map[string]*gorm.DB //gs 数据库 type DbConfig struct { - Name string - Host string - Port string - User string - Password string - Database string - Charset string - TLS string + Name string + Host string + Port string + User string + Password string + Database string + Charset string + TLS string + MaxIdleConns int + MaxOpenConns int } func GetDB(c *gin.Context, dbName ...string) *gorm.DB { @@ -127,6 +129,17 @@ func InitDB(env string, conf DbConfig) { fmt.Println(err.Error()) os.Exit(-1) } + + if conf.MaxIdleConns != 0 && conf.MaxOpenConns != 0 { + sqlDB, err := db.DB() + if err != nil { + panic(err) + } + // 设置连接池参数 + sqlDB.SetMaxIdleConns(conf.MaxIdleConns) // 设置最大空闲连接数为10 + sqlDB.SetMaxOpenConns(conf.MaxOpenConns) // 设置最大打开连接数为100 + } + DBS[conf.Name] = db } else { logger2 := lxzap.NewGormZap(zap.L()) @@ -141,6 +154,17 @@ func InitDB(env string, conf DbConfig) { fmt.Println(err.Error()) os.Exit(-1) } + + if conf.MaxIdleConns != 0 && conf.MaxOpenConns != 0 { + sqlDB, err := db.DB() + if err != nil { + panic(err) + } + // 设置连接池参数 + sqlDB.SetMaxIdleConns(conf.MaxIdleConns) // 设置最大空闲连接数为10 + sqlDB.SetMaxOpenConns(conf.MaxOpenConns) // 设置最大打开连接数为100 + } + DBS[conf.Name] = db } DBS[conf.Name] = DBS[conf.Name].Session(&gorm.Session{SkipDefaultTransaction: true})