Grom实践 | 青训营

81 阅读1分钟

使用Go的Grom连接MySQL

一、安装Grom

安装Grom库

go get -u gorm.io/gorm

安装MySQL驱动

go get -u gorm.io/driver/mysql

将下列语句放入import中

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

二、连接数据库

/* 1. 创建一个数据库连接对象db */
 username := "root"  //账号
 password := "123456"  //密码
 host := "127.0.0.1" //数据库地址
 port := 3306        //端口
 Dbname := "test"   //数据库名

 // root:root@tcp(127.0.0.1:3306)/gorm?
 dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", username, password, host, port, Dbname)
 //连接MYSQL, 获得DB类型实例,用于后面的数据库读写操作。
 DB, err := gorm.Open(mysql.Open(dsn))
 if err != nil {
     panic("连接数据库失败, error=" + err.Error())
 }
 // 连接成功

三、创建表增删改查

创建

//定义结构体
type Student struct {
	ID uint
	Name string
	Age uint8
}
// 设置 `Student` 的表名为 `student`
func (Student) TableName() string {
	return "student"
}

创建一条记录

db.Create(&student{name: "Wang", Age: 18})

创建多条记录

students := []Student{
   {name: "Chang", Age: 20}
   {name: "Ren", Age: 18}
   {name: "Liu", Age: 20}
   } 
   db.Create(&students)

查询

var student Student
db.First(&student, 1) // 根据整型主键查找
db.First(&student, "name = ?", "Wang")//查找name字段为Wang的记录

删除

student.ID = 2 
db.Delete(&student)