1 Star 0 Fork 0

小小站长哎 / mgo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DB.go 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
小小站长哎 提交于 2021-07-22 11:54 . 初次上传
package M
import (
"fmt"
"strconv"
"strings"
"gorm.io/driver/mysql"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
//_ "github.com/mattn/go-sqlite3"
//_ "github.com/go-sql-driver/mysql"
func Gorm(con DBconfig) *gorm.DB {
con.Type = strings.ToLower(con.Type)
if con.Port == 0 {
con.Port = 3306
}
if con.Charset == "" {
con.Charset = "utf8"
}
if con.Server == "" {
con.Server = "127.0.0.1"
}
if con.Type == "mysql" {
dns := con.UserName + ":" + con.UserPass + "@tcp(" + con.Server + ":" + strconv.Itoa(con.Port) + ")/" + con.DbName + "?charset=" + con.Charset + "&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dns), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: con.Prefix,
SingularTable: true,
},
})
if err != nil {
fmt.Println("数据库连接错误")
return nil
}
return db
}
if con.Type == "sqlite" {
db, err := gorm.Open(sqlite.Open(con.Server), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
TablePrefix: con.Prefix,
SingularTable: true,
},
})
if err != nil {
fmt.Println("数据库连接错误")
return nil
}
return db
}
return nil
}
Go
1
https://gitee.com/yqs2009cl/mgo.git
git@gitee.com:yqs2009cl/mgo.git
yqs2009cl
mgo
mgo
master

搜索帮助