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 UserInfodb.First(&u)fmt.Printf("%#v", u)// 更新记录db.Model(&u).Update("hobby", "双色球")// 删除记录db.Delete(&u)
} ```
