1. 程式人生 > >【go語言讀取mysql】go語言連線mysql,並且查詢出結果

【go語言讀取mysql】go語言連線mysql,並且查詢出結果

一、需求分析
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() //關閉 }