代码:
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func ConnectDB() (*gorm.DB, error) {
dsn := "root:root@tcp(127.0.0.1:3306)/ceshi?charset=utf8mb4&parseTime=True&loc=Local"
// 根据实际的用户名、密码、主机地址、端口号、数据库名修改dsn
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
return db, err
}
type User struct {
gorm.Model
Name string
Email string
}
func main() {
db, err := ConnectDB()
if err != nil {
panic("无法连接数据库")
}
// 自动迁移(创建)表,会根据User结构体的定义来创建表结构
err = db.AutoMigrate(&User{})
if err != nil {
panic("创建表失败")
}
}
注意:
1.必须同时引入"gorm.io/driver/mysql"和"gorm.io/gorm"包。
2.结构体即为表,深入理解结构体和表之间的联系。
3.使用gorm方式操作比使用内置包更加简洁,少写很多sql代码。