返回

GORM实现MySQL数据表迁移、创建、查询

发布时间:2022-12-01 14:04:59 263
# webkit# mysql# 数据库# sql# 数据

GROM是go的ORM类库,兼容多种数据库。

package main

import (
"fmt"
"log"

"gorm.io/driver/mysql"
"gorm.io/gorm"
)

func main() {
dsn := "user:pass@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.New(mysql.Config{
DSN: dsn,
DefaultStringSize: 256,
}), &gorm.Config{})
if err != nil {
log.Fatal("数据库链接错误")
}

type User struct {
ID uint `gorm:"primaryKey"`
Name string
Age int
Gender string
}

// 创建users表
db.AutoMigrate(&User{})

// 创建数据
user := User{Name: "张三", Age: 18, Gender: "男"}
db.Create(&user)

// 批量插入
users := []User{
{Name: "李四", Age: 19, Gender: "男"},
{Name: "王五", Age: 20, Gender: "男"},
}
db.CreateInBatches(users, 2)

// 查询第一个
db.First(&user)

// 查询全部对象
db.Select("name").Where("age = ?", 20).Find(&users)
for _, user := range users {
fmt.Println(user.Name)
}

}

参考

​​https://learnku.com/docs/gorm/v2​​

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线