golang连接sm3认证加密(app)
文章目录
- 环境
- 文档用途
- 详细信息
环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5
文档用途
golang连接安全版sm3认证加密数据库,驱动程序详见附件。
详细信息
1.下载Linux golang安装包 go1.17.3.linux-amd64.tar.gz
1.1. 解压安装包
tar xvf go1.17.3.linux-amd64.tar.gz -C /opt/apps/go
1.2. 创建路径
mkdir /opt/dev/go -p
1.3. 添加环境变量
vim ~/.bashrc
export GOROOT=/opt/apps/go
export PATH=$PATH:/opt/apps/go/bin
export GOPATH=/opt/dev/go
source ~/.bashrc
2.将解压后的pq目录放到如下路径
mkdir /opt/dev/go/src/github.com/lib/pq
3.测试:将如下代码保存为go文件执行
package main
import ("database/sql""fmt"_ "github.com/lib/pq"
)
const (host = "x.x.21.138"port = 5871user = "test"password = "hg123456"dbname = "test"
)
func connectDB() *sql.DB{psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",host, port, user, password, dbname)db, err := sql.Open("postgres", psqlInfo)if err != nil {panic(err)}err = db.Ping()if err != nil {panic(err)}fmt.Println("Successfully connected!")return db
}
func query(db *sql.DB){var name stringrows,err:=db.Query("select '数据库版本:['||version()||']' as name")if err!= nil{fmt.Println(err)}defer rows.Close()for rows.Next(){err:= rows.Scan(&name)if err!= nil{fmt.Println(err)}}err = rows.Err()if err!= nil{fmt.Println(err)}fmt.Println(name)
}
func main() {db:=connectDB()query(db)
}
4.运行结果