go-sql-driver/mysql中Scan結果集轉自動換成map解決方案
package main
import (
"database/sql"
"fmt"
"github.com/go-sql-driver/mysql"
"log"
"time"
)
var db *sql.DB
func initDb() {
var err error
config := mysql.Config{
User: "root",
Passwd: "",
Addr: "xxx.xxx.xxx.xxx:3306",
Net: "tcp",
DBName: "xxx",
AllowNativePasswords: true,
}
db, err = sql.Open("mysql", config.FormatDSN())
checkError(err)
// 設定最大連線數
db.SetMaxOpenConns(25)
// 設定最大空閒連線數
db.SetMaxIdleConns(25)
// 設定每個連結的過期時間
db.SetConnMaxLifetime(5 * time.Minute)
// 嘗試連線,失敗會報錯
err = db.Ping()
checkError(err)
}
func checkError(err error) {
if err != nil {
log.Fatal(err)
}
}
func Scan(list *sql.Rows) (rows []map[string]interface{}) {
fields, _ := list.Columns()
for list.Next() {
scans := make([]interface{}, len(fields))
row := make(map[string]interface{})
for i := range scans {
scans[i] = &scans[i]
}
list.Scan(scans...)
for i, v := range scans {
var value = ""
if v != nil {
value = fmt.Sprintf("%s", v)
}
row[fields[i]] = value
}
rows = append(rows, row)
}
return
}
func main() {
initDb()
list, _ := db.Query("select * from users")
defer list.Close()
rows := Scan(list)
for _, user := range rows {
fmt.Println(user["id"], user["name"], user["created_at"])
}
}
結果:
1 admin 2019-05-23 01:54:06
15 jack 2020-01-15 15:43:04
23 測試 2020-03-10 19:20:41
25 測試1 2020-03-21 17:25:42
26 demo2 2020-03-21 18:16:22
27 demo3 2020-03-21 19:08:35
28 user01 2020-03-21 22:50:53
29 user02 2020-03-21 22:52:34
30 li 2020-03-22 13:57:47
相關文章
- Java物件轉換成MapJava物件
- Map<String, Object>轉換成uri請求串Object
- MySQL字符集亂碼與解決方案MySql
- PYTHON3 cx-Oracle 字符集 轉換錯誤的解決方案PythonOracle
- Fotify掃描結果Open Redirection解決方案
- 評“MySQL 隱式轉換引起的執行結果錯誤”MySql
- Java中將 Map 轉換為 Spring MultiValueMapJavaSpring
- voc資料集轉換成coco資料集
- 介面自動化測試解決方案
- scan ip的手動切換
- mysql行列轉換詳解MySql
- MySQL Orchestrator自動導換+VIP切換MySql
- echarts圖表X軸文字過長解決解決方案:根據文字長度自動旋轉Echarts
- 將算數表示式轉換成字尾表示式並計算結果
- 如何在Java 8中將List轉換為Map?Java
- phpstudy自帶MySQL不支援innodb解決辦法 和 更換MySQL版本PHPMySql
- MySQL EXPLAIN結果集分析 - 附帶大量案例MySqlAI
- mysql壓縮解決方案MySql
- 提供一站式自動駕駛資料採集標註解決方案自動駕駛
- SolidKits增效設計工具集——裝配體標準件自動統計解決方案Solid
- 從庫轉換成PXC叢集的節點
- API介面開發(一):介面開發返回結果解決方案API
- java將map轉成bean工具JavaBean
- 蘋果手機heic圖片如何轉換成jpg蘋果
- Rust中的迭代器的使用:map轉換、filter過濾、fold聚合、chain連結RustFilterAI
- 智慧養殖自動化PLC資料採集遠端監控系統解決方案
- 汙水處理自動化裝置資料採集與遠端監控解決方案
- 解決方案集錦——Tomcat伺服器啟動失敗Tomcat伺服器
- 提高GUI自動化測試穩定性解決方案GUI
- Gson將json字串轉map導致int型被轉換成double的採坑之旅JSON字串
- 首批入選!金融信創解決方案評選結果公佈
- List<實體類>轉換成map 一個鍵對應多個值
- Json,String,Map之間的轉換JSON
- 圖片的採集自動同步方案
- 視訊轉碼解決方案
- 微信中無法下載APP的解決方案(微信自動跳轉瀏覽器開啟下載連結)APP瀏覽器
- 被蘋果11.2警告的解決方案蘋果
- iOS FMDB有返回結果集和無返回結果集iOS