package main import ( "fmt" "log" "time" "code.yun.ink/pkg/mysqlx" "github.com/go-sql-driver/mysql" "gorm.io/gorm/logger" ) func main() { cfg := mysql.NewConfig() cfg.User = "testuser" cfg.Passwd = "password" cfg.Net = "tcp" cfg.Addr = "127.0.0.1:3306" cfg.DBName = "testdb" cfg.ParseTime = true cfg.Loc = time.Local cfg.Params = map[string]string{ "charset": "utf8mb4", } client, err := mysqlx.NewDB( mysqlx.WithDSNConfig(cfg), mysqlx.WithDSNTimeout(5*time.Second), mysqlx.WithDSNReadTimeout(10*time.Second), mysqlx.WithDSNWriteTimeout(10*time.Second), mysqlx.WithDSNParams(map[string]string{"multiStatements": "true"}), mysqlx.WithLogger(logger.Default.LogMode(logger.Warn)), ) if err != nil { log.Fatalf("failed to create mysqlx client: %v", err) } defer client.Close() fmt.Println("MySQL client created with expanded DSN configuration") _ = client }