1 Star 1 Fork 0

bon-ami/eztools

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
conn.go 1.59 KB
一键复制 编辑 原始数据 按行查看 历史
Allen Tse 提交于 2021-10-08 16:46 +08:00 . v2
package eztools
import (
"database/sql"
"encoding/xml"
)
const (
strSQL = "mysql"
strCfgFile = "eztools"
)
// ConnectWtParam connects to the database using parameters.
func ConnectWtParam(user, pass, ip, database string) (db *sql.DB, err error) {
if len(user) < 1 || len(database) < 1 || len(ip) < 1 || len(pass) < 1 {
return nil, ErrInvalidInput
}
db, err = sql.Open(strSQL, user+":"+pass+"@"+ip+"/"+database)
if err != nil {
return
}
err = db.Ping()
if err != nil {
return nil, err
}
return
}
var cfg struct {
Root xml.Name `xml:"eztools"`
StrUSER string `xml:"user"`
StrPASS string `xml:"pass"`
StrIP string `xml:"ip"`
StrDB string `xml:"db"`
}
// ConnectWtCfg connects to the database using parameters from an xml file
// root element is named "root", elements include "ip", "db", "user" and "pass"
func ConnectWtCfg(file string) (*sql.DB, error) {
if _, err := XMLsReadDefaultNoCreate("", file, &cfg); err != nil {
return nil, err
}
return ConnectWtParam(cfg.StrUSER, cfg.StrPASS, cfg.StrIP, cfg.StrDB)
}
// ConnectWtPath connects to the database using path as config file
func ConnectWtPath(path string) (*sql.DB, error) {
if _, err := XMLsReadDefaultNoCreate(path, "", &cfg); err != nil {
return nil, err
}
return ConnectWtParam(cfg.StrUSER, cfg.StrPASS, cfg.StrIP, cfg.StrDB)
}
// Connect connects to the database using parameters from eztools.xml
// root element is named "root", elements include "ip", "db", "user" and "pass"
func Connect() (*sql.DB, error) {
return ConnectWtCfg(strCfgFile)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/bon-ami/eztools.git
git@gitee.com:bon-ami/eztools.git
bon-ami
eztools
eztools
v2.1.1

搜索帮助