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.