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-drivertool. 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.goand 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 getto installgorm.io/gormandgorm.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.goand 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.