GORM数据库操作 | 青训营

62 阅读1分钟

GROM连接MYSQL

什么是ORM?

object relational mapping:对象关系映射。

对象:程序中的对象/示例;

关系:关系数据库

ORM语句:代码中无需嵌入SQL语句,直接以代码的形式实现SQL。

数据表《——》结构体

数据行《——》结构体实例

字段   《——》结构体字段

Image.png

优点:提高开发效率

缺点:牺牲执行性能;牺牲灵活性;弱化SQL能力

安装

安装grom

参照官方文档进行安装:gorm.io/zh_CN/docs/…

运行命令:

go get -u github.com/jinzhu/gorm go get github.com/jinzhu/gorm/dialects/mysql@v1.9.16

图片.png

安装mysql

参考文档 blog.csdn.net/youcheng_ge…

连接数据库

package main

import (
    "fmt"
    "github.com/jinzhu/gorm"  
    _ "github.com/jinzhu/gorm/dialects/mysql"

)

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

func main() {
    db, err := gorm.Open("mysql", "root:123456@(127.0.0.1:3306)/db1?charset=utf8mb4&parseTime=True&loc=Local")
    if err != nil {
        panic(err)
    }
    defer db.Close()    
}

创建表

自动迁移:把结构体和数据表进行对应

     //创建表
     db.AutoMigrate(\&UserInfo{})
    //创建数据行
    ul := UserInfo{1, "小明", "男", "健身"}
    db.Create(\&ul)

查询

    var u UserInfo
    db.First(\&u)
    fmt.Printf("u:%#v\n", u)

     Image.png

更新

    db.Model(\&u).Update("hobby", "双色球")

Image.png

删除

    db.Delete(\&u)

Image.png

参考文档: