俗话说得好,复杂的事物都是由最简单的事物构成的
先上代码,来个快速入门
package main
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type User struct {
gorm.Model
Name string
Age string
}
func main() {
db, err := gorm.Open(mysql.New(mysql.Config{
DSN: "root:@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local", // 账号密码地址端口 // 根据当前 MySQL 版本自动配置
}), &gorm.Config{
// ...gorm配置
})
if err != nil {
panic("failed to connect database")
}
fmt.Println("连接数据库成功")
// 迁移 schema 就是创建一个表
db.AutoMigrate(&User{})
user := User{Name: "jack", Age: "4444"}
result := db.Create(&user) //通过数据的指针来创建
name := user.Name // 返回插入数据的Name
affected := result.RowsAffected // 返回插入记录的条数
fmt.Println(name, affected)
}
这里说下注意事项
1,结构体变量名必须大写,负责会插入数据失败
2,结构体中的成员变量名必须大写
3,结构体变量名会被映射成数据库表名,规则是变量名全部变小写,加s
4,结构体成员名会被映射为字段名,规则是成员变量名全部变小写