GROM连接MYSQL
什么是ORM?
object relational mapping:对象关系映射。
对象:程序中的对象/示例;
关系:关系数据库
ORM语句:代码中无需嵌入SQL语句,直接以代码的形式实现SQL。
数据表《——》结构体
数据行《——》结构体实例
字段 《——》结构体字段
优点:提高开发效率
缺点:牺牲执行性能;牺牲灵活性;弱化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
安装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)
更新
db.Model(\&u).Update("hobby", "双色球")
删除
db.Delete(\&u)
参考文档: