• go查询mysql到list<map>


    func selects() {
        db, err := sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")
        checkErr(err)
        // 查询数据
        //查询数据,取所有字段
        rows2, _ := db.Query("SELECT * FROM people")
        //返回所有列
        cols, _ := rows2.Columns()
        //这里表示一行所有列的值,用[]byte表示
        vals := make([][]byte, len(cols))
        //这里表示一行填充数据
        scans := make([]interface{}, len(cols))
        //这里scans引用vals,把数据填充到[]byte里
        for k, _ := range vals {
            scans[k] = &vals[k]
        }
        i := 0
        result := make(map[int]map[string]string)
        for rows2.Next() {
            //填充数据
            rows2.Scan(scans...)
            //每行数据
            row := make(map[string]string)
            //把vals中的数据复制到row中
            for k, v := range vals {
                key := cols[k]
                fmt.Printf(string(v))
                //这里把[]byte数据转成string
                row[key] = string(v)
            }
            //放入结果集
            result[i] = row
            i++
        }
        //fmt.Println(result)
        for k, v := range result {
            fmt.Printf("第%d行", k)
            fmt.Println(v["id"] + "===>" + v["first_name"])
        }
        db.Close()
    }
  • 相关阅读:
    线程高并发
    29(套接字)就是网络编程
    28线程
    27 枚举
    26静态导入和可变参数
    25JDK新特性
    25断言 assert关键字
    24单元测试 junit
    炫酷CSS
    PHP 汉字转拼音类
  • 原文地址:https://www.cnblogs.com/wujf/p/10709411.html
Copyright © 2020-2023  润新知