42 lines
898 B
Go
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
|
|
}
|