go gorm方式连接数据库并创建表

42 阅读1分钟

代码:

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代码。