package models
import (
"database/sql"
"errors"
. "gin_monitor/config"
"strings"
// "fmt"
_ "github.com/go-sql-driver/mysql"
)
//数据库连接DSN
const (
DbType = "mysql"
// DefaultConn = "root:system@tcp(172.16.4.51:3306)/monitor?charset=utf8"
)
//mysql动态连接池
var db *sql.DB
var DefaultConn string
//连接数据库基本数据字典
type Info struct {
username string
password string
host string
port string
dbname string
charset string
}
func CheckErr(err error) {
if err != nil {
panic(err)
}
}
func init() {
//获取配置文件
info := Info{}
info.username = GetConfig("mysql", "username")
info.password = GetConfig("mysql", "password")
info.host = GetConfig("mysql", "host")
info.port = GetConfig("mysql", "port")
info.dbname = GetConfig("mysql", "dbname")
info.charset = GetConfig("mysql", "charset")
//组装MYSQL连接DSN连接
DefaultConn = info.username + ":" + info.password + "@tcp(" + info.host + ":" + info.port + ")/" + info.dbname + "?charset=" + info.charset
// "初始化数据库连接池"
db, _ = sql.Open(DbType, DefaultConn)
db.SetMaxOpenConns(2000)
db.SetMaxIdleConns(1000)
db.Ping()
}
//定义一个接口,只要实现了这个接口的方法就可以调用这个接口
type Db interface {
//http://127.0.0.1/mysql/query?sql=select host,type,table_sch
golang mysql封装
最新推荐文章于 2023-11-23 01:30:00 发布
本文详细介绍了如何在Golang中进行MySQL数据库的封装,包括连接管理、SQL语句执行、事务处理等关键步骤,旨在提供一种高效、安全的数据库操作方案。
摘要由CSDN通过智能技术生成