GORM基本实例

GORM基本实例

注意:

  1. 本文以MySQL数据库为例,讲解GORM各项功能的主要使用方法。
  2. 往下阅读本文前,你需要有一个能够成功连接上的MySQL数据库实例。

Docker快速创建MySQL实例

很多同学如果不会安装MySQL或者懒得安装MySQL,可以使用一下命令快速运行一个MySQL8.0.19实例,当然前提是你要有docker环境…

在本地的13306端口运行一个名为mysql8019,root用户名密码为root1234的MySQL容器环境:

docker run --name mysql8019 -p 13306:3306 -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:8.0.19

在另外启动一个MySQL Client连接上面的MySQL环境,密码为上一步指定的密码root1234:

docker run -it --network host --rm mysql mysql -h127.0.0.1 -P13306 --default-character-set=utf8mb4 -uroot -p

创建数据库

在使用GORM前手动创建数据库gorm

CREATE DATABASE gorm;

GORM操作MySQL

使用GORM连接上面的db1进行创建、查询、更新、删除操作。

package main

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

type UserInfo struct {
	ID     uint
	Name   string
	Gender string
	Hobby  string
}

func main() {
	dsn := "root:@tcp(127.0.0.1:3306)/gorm?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}
	// 创建表自动迁移, 把结构体和数据表进行对应
	db.AutoMigrate(&UserInfo{})

	// 创建数据信息
	createUserinfo := UserInfo{1, "randyRandy", "man", "code"}
	db.Create(&createUserinfo)
    
	// 查询
	var u UserInfo
	db.First(&u)
	fmt.Printf("userInfo:%#v", u)

	// 更新
	db.Model(&u).Update("hobby", "Python Go code")
	fmt.Printf("userInfo:%#v", u)

	// 删除
	db.Delete(&u)

}

image-20211120110850189

image-20211120110918037

原文地址:https://www.cnblogs.com/randysun/p/15626718.html