1 Star 0 Fork 0

is小强/beego-tool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
mysql.go 2.19 KB
一键复制 编辑 原始数据 按行查看 历史
/**
* Created by goland.
* User: adam_wang
* Date: 2023-07-08 00:04:40
*/
package database
import (
"github.com/beego/beego/v2/client/orm"
beego "github.com/beego/beego/v2/server/web"
_ "github.com/go-sql-driver/mysql"
"time"
)
type Mysql struct {
Id int
Pre string
Ng string
Ser string
Th string `orm:"size(500)"`
}
var mysqlDb = ""
func init() {
//注册驱动,可以不加
err := orm.RegisterDriver("mysql", orm.DRMySQL)
if err != nil {
return
}
mysqlUser, _ := beego.AppConfig.String("mysql::mysql_user")
mysqlPass, _ := beego.AppConfig.String("mysql::mysql_pass")
mysqlUrls, _ := beego.AppConfig.String("mysql::mysql_urls")
mysqlPort, _ := beego.AppConfig.String("mysql::mysql_port")
mysqlDb, _ := beego.AppConfig.String("mysql::mysql_db")
mysqlCharset, _ := beego.AppConfig.String("mysql::mysql_charset")
maxLifeTime, _ := beego.AppConfig.Int("mysql::max_life_time")
maxOpenConns, _ := beego.AppConfig.Int("mysql::max_open_conns")
maxIdleTime, _ := beego.AppConfig.Int("mysql::max_idle_time")
maxIdleConns, _ := beego.AppConfig.Int("mysql::max_idle_conns")
if mysqlCharset == "" {
mysqlCharset = "utf8"
}
//注册 model
orm.RegisterModel(new(Mysql))
//注册默认数据库,必须注册一个别名为default的数据库,作为默认使用。("root:password@(127.0.0.1:3306)/databasename?charset=utf8")
err = orm.RegisterDataBase("default", "mysql", mysqlUser+":"+mysqlPass+"@("+mysqlUrls+":"+mysqlPort+")/"+mysqlDb+"?charset="+mysqlCharset, orm.ConnMaxLifetime(time.Duration(maxLifeTime)*time.Second), orm.ConnMaxIdletime(time.Duration(maxIdleTime)*time.Second), orm.MaxOpenConnections(maxOpenConns), orm.MaxIdleConnections(maxIdleConns))
if err != nil {
panic("failed to init msyql:" + err.Error())
}
}
// IsExistTable 判断表是否存在
// @param tableName string
// @param databaseName string
// @return bool
func IsExistTable(tableName string, databaseName string) bool {
if databaseName == "" {
databaseName = mysqlDb
}
o := orm.NewOrm()
var count int64
err := o.Raw("SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?", databaseName, tableName).QueryRow(&count)
if err == nil && count == 0 {
return false
}
return true
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/adam-qiang/beego-tool.git
git@gitee.com:adam-qiang/beego-tool.git
adam-qiang
beego-tool
beego-tool
v1.2.1

搜索帮助