1 简介

gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。
安装:

go get -u gorm.io/gorm go get -u gorm.io/driver/mysql

2 连接数据库

  1. import (
  2. "github.com/jinzhu/gorm"
  3. _ "github.com/jinzhu/gorm/dialects/mysql"
  4. )
  5. func main() {
  6. db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8mb4&parseTime=True&loc=Local")
  7. defer db.Close()
  8. }
  • 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 }

  1. // 创建表, 自动迁移
  2. db.AutoMigrate(&UserInfo{})
  3. // 添加记录
  4. u1 := UserInfo{1, "七米", "男", "蛙泳"}
  5. db.Create(&u1)
  6. // 查询记录
  7. var u UserInfo
  8. db.First(&u)
  9. fmt.Printf("%#v", u)
  10. // 更新记录
  11. db.Model(&u).Update("hobby", "双色球")
  12. // 删除记录
  13. db.Delete(&u)

} ```