Golang Gorm 连接数据库

连接数据库


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

Go 复制代码
import _ "github.com/go-sql-driver/mysql"

import (
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

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

Go 复制代码
import _ "github.com/jinzhu/gorm/dialects/mysql"
// import _ "github.com/jinzhu/gorm/dialects/postgres"
// import _ "github.com/jinzhu/gorm/dialects/sqlite"
// import _ "github.com/jinzhu/gorm/dialects/mssql"

支持的数据库


MySQL

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

Go 复制代码
import (
  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/mysql"
)

func main() {
  db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=Tr
ue&loc=Local")
  defer db.Close()
}

PostgreSQL

Go 复制代码
import (
  "github.com/jinzhu/gorm"
  _ "github.com/jinzhu/gorm/dialects/postgres"
)

func main() {
  db, err := gorm.Open("postgres", "host=myhost port=myport user=gorm dbname=gorm password=mypassword")
  defer db.Close()
}

Sqlite3

Go 复制代码
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)

func main() {
  db, err := gorm.Open("sqlite3", "/tmp/gorm.db")
  defer db.Close()
}

SQL Server


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

Go 复制代码
import (
 "github.com/jinzhu/gorm"
 _ "github.com/jinzhu/gorm/dialects/mssql"
)
func main() {
  db, err := gorm.Open("mssql", "sqlserver://username:password@localhost:1433?da
tabase=dbname")
  defer db.Close()
}

不支持的数据库


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

相关推荐
何以解忧,唯有..14 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
踏着七彩祥云的小丑15 天前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go
JCGKS15 天前
Go `init` 函数:包初始化顺序到底是怎样的
golang·init·init执行顺序
何以解忧,唯有..15 天前
Go语言中的const:常量声明与iota枚举详解
java·开发语言·golang
geovindu15 天前
go: Reactor Pattern
开发语言·后端·设计模式·golang·反应器模式
記億揺晃着的那天15 天前
Java 调用外部 Go 程序的实践:ProcessBuilder 在生产环境中的应用
java·golang·processbuilder
jingling55515 天前
go | 环境安装和快速入门
开发语言·后端·golang
java_cj16 天前
从kubectl学Visitor模式:如何优雅处理多态数据结构的遍历
云原生·golang·k8s·访问者模式
何以解忧,唯有..16 天前
Go语言类型转换详解:从基础到进阶实践
开发语言·后端·golang
何以解忧,唯有..16 天前
Go 语言指针类型详解:从基础到实战
开发语言·后端·golang