>  기사  >  백엔드 개발  >  golang에서 데이터베이스에 연결하는 방법

golang에서 데이터베이스에 연결하는 방법

angryTom
angryTom원래의
2020-03-14 18:17:365528검색

golang에서 데이터베이스에 연결하는 방법

golang에서 데이터베이스에 연결하는 방법

1. 데이터베이스에 연결하려면 먼저 연결 드라이버가 있어야 합니다.

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

다운로드가 성공적으로 완료되면 다음 위치에 저장됩니다. 현재 시스템의 GOPATH 디렉토리에 있는 src 하위 디렉토리

(무료 권장 학습 비디오 튜토리얼: mysql 비디오 튜토리얼)

2 데이터베이스에 연결

● 연결을 구축합니다. 형식은 "사용자 이름: 비밀번호 @tcp (IP: 포트)/Database?charset=utf8"

● 데이터베이스를 엽니다. 전자가 드라이버 이름이므로 다음을 가져와야 합니다.

“github.com/go-sql-driver/mysql”

● 최대 데이터베이스 연결 수를 설정하고 최대값을 설정합니다. 데이터베이스의 유휴 연결 수

● 연결 확인: Ping() 함수 사용

3. Golang 데이터베이스 연결 예제 코드 :

import (
	"database/sql"
	"fmt"
	"strings"

	// 安装方式: go get -u github.com/go-sql-driver/mysql
	_ "github.com/go-sql-driver/mysql"
)

var (
	dbhostsip  = "127.0.0.1:3306"
	dbusername = "root"
	dbpassword = "123456"
	dbname     = "chat"
)

// 初始化数据库
func InitDB() (*sql.DB, error) {
	//构建连接信息
	dbinfo := strings.Join([]string{dbusername, ":", dbpassword, "@tcp(", dbhostsip, ")/", dbname, "?charset=utf8"}, "")
	fmt.Println(dbinfo)
	//打开数据库,前面是驱动名称,所以要导入:mysql驱动github.com/go-sql-driver/mysql
	dbins, err := sql.Open("mysql", dbinfo)
	if nil != err {
		fmt.Println("Open Database Error:", err)
		return nil, err
	}
	// 设置数据库的最大连接数
	dbins.SetConnMaxLifetime(100)
	// 设置数据库最大的闲置连接数
	dbins.SetMaxIdleConns(10)
	// 验证连接
	if err = dbins.Ping(); nil != err {
		fmt.Println("Open Database Fail,Error:", err)
		return nil, err
	}
	fmt.Println("Connect Success!!!")
	return dbins, nil
}

더 많은 Golang 지식을 보려면 golang 튜토리얼 칼럼을 참고하세요. PHP 중국어 웹사이트에서.

위 내용은 golang에서 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.