Files
mysqlx/example/expanded_dsn/expanded_dsn.go
T
2026-06-06 02:09:22 +08:00

42 lines
898 B
Go

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
}