zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Python导学基础(三)输入、格式化输出、基本运算符
    题解-FJOI2014 树的重心
    题解-CF1307G Cow and Exercise
    题解-SHOI2005 树的双中心
    笔记-CF643E Bear and Destroying Subtrees
    题解-CF643G Choosing Ads
    扩展Lucas
    线性筛筛积性函数
    整除分块(数论)
    2019暑假集训DAY17(problem2.b)(杜教筛)
  • 原文地址:https://www.cnblogs.com/randysun/p/15626718.html
Copyright © 2011-2022 走看看