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() }