Connecting to MatrixOne with Golang
MatrixOne supports Golang application connection, Go-MySQL-Driver
is supported. This tutorial will walk you through how to connect MatrixOne with Golang.
Before you start
- Make sure you have already installed and launched MatrixOne.
-
Make sure you have already installed Golang 1.18 and plus.
#To check with Golang installation and its version go version
-
Make sure you have already installed MySQL client.
Using Golang to connect to MatrixOne
Go-MySQL-Driver
is a MySQL driver for Go's (golang) database/sql package.
-
Install
go-mysql-driver
tool. Simple install the package to your $GOPATH with the go tool from shell. Make sure Git is installed on your machine and in your system'sPATH
.> go get -u github.com/go-sql-driver/mysql
-
Connect to MatrixOne by MySQL client. Create a new database named test.
mysql> create database test;
-
Create a plain text file
golang_connect_matrixone.go
and put the code below.package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { //"username:password@[protocol](address:port)/database" db, _ := sql.Open("mysql", "root:111@tcp(127.0.0.1:6001)/test") // Set database connection defer db.Close() //Close DB err := db.Ping() //Connect to DB if err != nil { fmt.Println("Database Connection Failed") //Connection failed return } else { fmt.Println("Database Connection Succeed") //Connection succeed } }
-
Execute this golang file in the command line terminal.
> go run golang_connect_matrixone.go Database Connection Succeed
Using Gorm to connect to MatrixOne
Gorm is the fantastic ORM library for Golang and aims to be developer-friendly. gorm.io/gorm
and gorm.io/driver/mysql
will make Go connect to MYSQL.
-
Use command
go get
to installgorm.io/gorm
andgorm.io/driver/mysql
.go get -u gorm.io/gorm go get -u gorm.io/driver/mysql
-
Connect to MatrixOne by MySQL client. Create a new database named test.
mysql> create database test;
-
Create a go file
golang_gorm_connect_matrixone.go
and put the code below.package main import ( "gorm.io/driver/mysql" "gorm.io/gorm" "fmt" ) func getDBConn() *gorm.DB { dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ }) // get connection if err != nil { fmt.Println("Database Connection Failed") //Connection failed } else { fmt.Println("Database Connection Succeed") //Connection succeed } return db } func main() { getDBConn() }
-
Execute this go file in the command line terminal.
> go run golang_gorm_connect_matrixone.go Database Connection Succeed
Reference
For the example about using Golang to build a simple CRUD with MatrixOne, see Build a simple Golang CRUD demo with MatrixOne.
For the example about using Gorm to build a simple CRUD with MatrixOne, see Build a simple Gorm CRUD demo with MatrixOne.