Golang 连接

MatrixOne 支持 Golang 连接,并且支持 Go-MySQL-Driver

本篇文档将指导你了解如何使用 Golang 连接 MatrixOne。

开始前准备

  1. #检查 Golang 版本号,确认是否安装
  2. go version
  • 已安装 MySQL 客户端,如果你没有安装,可以点击 MySQL 客户端至官方网站进行下载安装。

  • 已安装 Git 工具,如果你没有安装,可以点击 Git 至官方网站进行下载安装。

使用 Golang 连接 MatrixOne 服务

Go-MySQL-Driver 是一个用于 Go 语言的 MySQL 驱动程序,它实现了 Go 标准库中 database/sql 接口的方法,使得 Go 语言程序可以通过这个驱动程序连接和操作 MySQL 数据库。

  1. 安装 Go-MySQL-Driver 工具:

    使用 Go ToolGo-MySQL-Driver 包安装到你的 $GOPATH

    你也可以使用下面的命令行安装 Go-MySQL-Driver 工具:

    1. > go get -u github.com/go-sql-driver/mysql
  2. 使用 MySQL 客户端连接 MatrixOne。新建一个名称为 test 数据库:

    1. mysql> create database test;
  3. 创建一个纯文本文件 golang_connect_matrixone.go 并将代码写入文件:

    1. package main
    2. import (
    3. "database/sql"
    4. "fmt"
    5. _ "github.com/go-sql-driver/mysql"
    6. )
    7. func main() {
    8. //"username:password@[protocol](address:port)/database"
    9. db, _ := sql.Open("mysql", "root:111@tcp(127.0.0.1:6001)/test") // Set database connection
    10. defer db.Close() //Close DB
    11. err := db.Ping() //Connect to DB
    12. if err != nil {
    13. fmt.Println("Database Connection Failed") //Connection failed
    14. return
    15. } else {
    16. fmt.Println("Database Connection Succeed") //Connection succeed
    17. }
    18. }
  4. 打开一个终端,在终端内执行下面的命令:

    1. > go run golang_connect_matrixone.go
    2. Database Connection Succeed

使用 Gorm 连接 MatrixOne 服务

gorm 是一个基于 golang 的一个神奇的全功能 ORM 库,我们将使用 gorm.io/gormgorm.io/driver/mysql 这两个库来让 Go 连接到 MYSQL 数据库。

  1. 安装 gorm.io/gormgorm.io/driver/mysql 库,使用 go get 命令安装:
  1. go get -u gorm.io/gorm
  2. go get -u gorm.io/driver/mysql
  1. 使用 MySQL 客户端连接 MatrixOne。新建一个名称为 test 数据库:

    1. mysql> create database test;
  2. 创建一个文本文件 golang_gorm_connect_matrixone.go 并将代码写入文件:

    1. package main
    2. import (
    3. "gorm.io/driver/mysql"
    4. "gorm.io/gorm"
    5. "fmt"
    6. )
    7. func getDBConn() *gorm.DB {
    8. dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO
    9. db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
    10. })
    11. // get connection
    12. if err != nil {
    13. fmt.Println("Database Connection Failed") //Connection failed
    14. } else {
    15. fmt.Println("Database Connection Succeed") //Connection succeed
    16. }
    17. return db
    18. }
    19. func main() {
    20. getDBConn()
    21. }
  3. 打开一个终端,在终端内执行下面的命令:

    1. > go run golang_gorm_connect_matrixone.go
    2. Database Connection Succeed

参考文档

关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见 Golang 基础示例

关于使用 Gorm 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见 Gorm 基础示例