package mysql import ( "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "log" ) /** 这个gromConfig支持自定义config 也可以用默认gorm的config,主要就是日志这一块 */ func GormMysql(dsn, driverName string, maxOpenConn, maxIdleConn int, gormConfig *gorm.Config) *gorm.DB { if gormConfig == nil { gormConfig = getGormConfig() } if db, err := gorm.Open(mysql.New(mysql.Config{DSN: dsn, DriverName: driverName}), gormConfig); err == nil { sqlDB, _ := db.DB() sqlDB.SetMaxIdleConns(maxIdleConn) sqlDB.SetMaxOpenConns(maxOpenConn) return db } else { log.Printf("GormMysql open Error,DSN:[%s],err:[%v]", dsn, err) } return nil } func getGormConfig() *gorm.Config { return &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), DisableForeignKeyConstraintWhenMigrating: true, } }