GoLang连接MySQL数据库源代码

GoLang连接Mysql数据库

先建立以下目录结构和go源码文件:

main
 |- sqltools
   |- connmysql.go
 |- go.mod
 |- go.sum
 |-main.go

mian文件夹中是main.go文件和sqltools文件夹,sqltools文件夹中是connmysql.go文件,我们把数据库连接相关代码单独放在connmysql.go文件中,方便以后调用,main.go中调用connmysql.go中的数据库连接方法。

go.mod是执行go mod命令自动生成的,在命令提示行cmd进入main目录,执行以下命令:

go mod init main

从github.com下载mysql数据库的go驱动,golang连接数据库用户的驱动是:go-sql-driver

在命令提示行cmd进入main目录下,执行以下命令:

go get -u github.com/go-sql-driver/mysql

成功执行后会将mysql驱动写入到go.mod文件中。

下面是connmysql.go文件的源码内容:

package sqltools

import (
	"database/sql"
	"fmt"

	_ "github.com/go-sql-driver/mysql"
)

func ConnectMySQL(dbUser, dbPassword, dbServer, dbName string) (db *sql.DB, err error) {
	//生成数据库连接字符串
	str := dbUser + ":" + dbPassword + "@(" + dbServer + ":3306)/" + dbName
	//打印生成的字符串
	fmt.Println("数据库连接字符串:" + str)
	//建立连接
	db, err = sql.Open("mysql", str)
	//测试连接是否成功
	err = db.Ping()
	//返回数据库连接
	return db, err
}

下面是main.go源代码:

package main

import (
	"main/sqltools"
	"fmt"
)

const (
	dbUser     = "root"
	dbPassword = "123456"
	dbServer   = "127.0.0.1"
	dbName     = "golang"
)

func main() {
	//连接MySQL数据库
	db, err := sqltools.ConnectMySQL(dbUser, dbPassword, dbServer, dbName)
	if err == nil {
		fmt.Println("数据库连接成功")
		//返回的db连接可以在查询函数中使用,这里先不介绍,下面先打印出db的变量值
		fmt.Println(db)
	} else {
		fmt.Println("数据库连接失败,请查询参数")
	}
}

本机配置好mysql程序,并新建golang数据库,执行以下命令:

go run main.go

设置正确的数据库参数,如果连接成功,则输出:

数据库连接字符串:root:123456@(127.0.0.1:3306)/golang
数据库连接成功

将密码改为123,则数据库连接失败,则输出:

数据库连接字符串:root:123@(127.0.0.1:3306)/golang
数据库连接失败,请检查参数

以上代码在go 1.16.3调试通过。

原创文章,作者:AukCode,如若转载,请注明出处:https://www.AukCode.Com/source-code-of-golang-connecting-mysql-database.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息