印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

42 lines
825 B

package mysql
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
// MysqlClient sql连接对象
type MysqlClient struct {
client *gorm.DB
}
func InitMysqlClient(dsn string, debug bool) (*MysqlClient, error) {
dsn += "?charset=utf8mb4&parseTime=True&loc=Local"
// "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
var ormLogger logger.Interface
if debug {
ormLogger = logger.Default.LogMode(logger.Info)
} else {
ormLogger = logger.Default
}
user_db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: ormLogger,
})
if err != nil {
return nil, err
}
return &MysqlClient{client: user_db}, nil
}
func (m *MysqlClient) C() *gorm.DB {
return m.client
}
// Begin 开启事务
func (u *MysqlClient) Begin() *gorm.DB {
return u.client.Begin()
}