GORM 官方支持的数据库类型有: MySQL, PostgreSQL, SQlite, SQL Server
以MySQL数据库的连接作为示例
一、直接连接
定义数据库连接的字符串
然后使用 gorm.Open( ) 来建立数据库连接
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
// 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情
dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
}
创建数据库连接的时候可以配置当前的时间
更改创建时间使用的函数
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
NowFunc: func() time.Time {
return time.Now().Local()
},
})
二、通过现有的数据库连接来初始化*gorm.DB
func InitSQL() (err error) {
/*使用database/sql建立的数据库连接*/
dsn := "flutter:yu020506@tcp(1.117.163.52:3306)/flutter?charset=utf8&parseTime=true"
dao.DB, err = sql.Open("mysql", dsn)
if err != nil {
return err
}
dao.GormDB, err = gorm.Open(gormMysql.New(gormMysql.Config{
Conn: dao.DB, // 使用database/sql的数据库连接来初始化gorm.DB的初始化连接
}), &gorm.Config{
NowFunc: func() time.Time {
return time.Now().Local()
},
})
if err != nil {
return err
}
err = dao.DB.Ping()
if err != nil {
return err
}
return nil
}