1 简介
gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。
安装:
go get -u gorm.io/gorm go get -u gorm.io/driver/mysql
2 连接数据库
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
func main() {
db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8mb4&parseTime=True&loc=Local")
defer db.Close()
}
- charset: 默认是none设置用于客户端-服务器交互的字符集
- parseTime: 默认是false, 设为true会自动把 DATE 和 DATETIME 转为 time.Time 而不是 []byte / string; 像0000-00-00 00:00:00这样的日期格式 会被转化为time.Time的零值
- loc: 默认是utc, 设为Local会自动使用当地的时区
3 快速使用
```go package main
import ( “fmt” _ “gorm.io/driver/mysql” “gorm.io/gorm” )
type UserInfo struct { ID uint Name string Gender string Hobby string }
func main() { // 连接数据库 dsn := “root:123456@tcp(127.0.0.1:3306)/db1” db, err := gorm.Open(“mysql”, dsn) if err != nil{ return }
// 创建表, 自动迁移
db.AutoMigrate(&UserInfo{})
// 添加记录
u1 := UserInfo{1, "七米", "男", "蛙泳"}
db.Create(&u1)
// 查询记录
var u UserInfo
db.First(&u)
fmt.Printf("%#v", u)
// 更新记录
db.Model(&u).Update("hobby", "双色球")
// 删除记录
db.Delete(&u)
} ```