1. 连接数据库

1.1. 连接数据库

为了连接数据库,你首先要导入数据库驱动程序。例如:

  1. import _ "github.com/go-sql-driver/mysql"

GORM 已经包含了一些驱动程序,为了方便的去记住它们的导入路径,你可以像下面这样导入 mysql 驱动程序

  1. import _ "github.com/jinzhu/gorm/dialects/mysql"
  2. // import _ "github.com/jinzhu/gorm/dialects/postgres"
  3. // import _ "github.com/jinzhu/gorm/dialects/sqlite"
  4. // import _ "github.com/jinzhu/gorm/dialects/mssql"

1.2. 支持的数据库

1.2.1. MySQL

注意: 为了正确的处理 time.Time ,你需要包含 parseTime 作为参数。 (More supported parameters)

  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=utf8&parseTime=True&loc=Local")
  7. defer db.Close()
  8. }

1.2.2. PostgreSQL

  1. import (
  2. "github.com/jinzhu/gorm"
  3. _ "github.com/jinzhu/gorm/dialects/postgres"
  4. )
  5. func main() {
  6. db, err := gorm.Open("postgres", "host=myhost port=myport user=gorm dbname=gorm password=mypassword")
  7. defer db.Close()
  8. }

1.2.3. Sqlite3

  1. import (
  2. "github.com/jinzhu/gorm"
  3. _ "github.com/jinzhu/gorm/dialects/sqlite"
  4. )
  5. func main() {
  6. db, err := gorm.Open("sqlite3", "/tmp/gorm.db")
  7. defer db.Close()
  8. }

1.2.4. SQL Server

Get started with SQL Server,它可以通过 Docker 运行在你的 MacLinux 上。

  1. import (
  2. "github.com/jinzhu/gorm"
  3. _ "github.com/jinzhu/gorm/dialects/mssql"
  4. )
  5. func main() {
  6. db, err := gorm.Open("mssql", "sqlserver://username:password@localhost:1433?database=dbname")
  7. defer db.Close()
  8. }

1.3. 不支持的数据库

GORM 官方支持以上四种数据库, 你可以为不支持的数据库编写支持,参考 GORM Dialects