【go語言讀取mysql】go語言連線mysql,並且查詢出結果
阿新 • • 發佈:2019-01-23
一、需求分析
go語言 連上mysql,並且從mysql中讀取資料
二、實現效果
"D:\Program Files (x86)\JetBrains\Gogland 171.3780.106\bin\runnerw.exe" D:/Go\bin\go.exe run D:/Go/code/src/awesomeProject/go_mysql.go
連結資料庫成功...........已經開啟
192002628163
192002628163
192002627657
192002629069
192002629069
連結資料庫成功...........已經關閉
Process finished with exit code 0
三、實現原始碼
package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"database/sql"
//"github.com/widuu/gojson"
"github.com/widuu/gojson"
)
var (
dbhostsip = "主機"
dbusername = "使用者名稱稱"
dbpassowrd = "資料庫密碼"
dbname = "資料庫名稱"
)
type mysql_db struct {
db *sql.DB //定義結構體
}
func (f *mysql_db) mysql_open() { //開啟
Odb, err := sql.Open("mysql", dbusername+":"+dbpassowrd+"@tcp("+dbhostsip+")/"+dbname)
if err != nil {
fmt.Println("連結失敗")
}
fmt.Println("連結資料庫成功...........已經開啟")
f.db = Odb
}
func (f *mysql_db) mysql_close() { //關閉
defer f.db.Close()
fmt.Println("連結資料庫成功...........已經關閉" )
}
func (f *mysql_db) mysql_select(sql_data string) {
rows, err := f.db.Query(sql_data)
if err != nil {
println(err)
}
for rows.Next() {
var in_param string
err = rows.Scan(&in_param)
if err != nil {
panic(err)
}
user_id:=gojson.Json(in_param).Get("user_id").Tostring()
fmt.Println(user_id)
}
}
func main() {
db := &mysql_db{}
db.mysql_open()
db.mysql_select("SELECT in_param FROM t_rong_credit_bank a WHERE a.method_code IN ('010402') limit 10 ")
db.mysql_close() //關閉
}