文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Go】连接本地MySQL读取数据

2018-03-22 14:20

关注

【Go】连接本地MySQL读取数据[数据库教程]

如题。对Go的网页请求参数有一些了解,从头开始呗。

数据库的goods表

技术分享图片

技术分享图片
package main

import (
    "fmt"
    "log"
    "net/http"
    "strconv"
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
)

func AddHandler(w http.ResponseWriter, r *http.Request) {
    vars := r.URL.Query()
    a := vars.Get("para")
    b := vars.Get("para2")

    inta, _ := strconv.Atoi(a)
    intb, _ := strconv.Atoi(b)

    fmt.Println(r.Method, r.URL, r.Host, vars)

    fmt.Println(r.Proto)
    fmt.Fprintln(w, inta+intb) 
}

type Good struct {
    Name string
    Count string
    Price string
}

func CheckErr(err error, paras ...string) {
    if err != nil {
        for _, val := range paras {
            log.Println(val)
        }
        log.Fatal(err)
    }
}

func main() {
    db, _ := sql.Open("mysql", "root:[email protected](127.0.0.1:3306)/mysql")
    defer db.Close()
    err := db.Ping()
    CheckErr(err, "SQLErr")

    log.Println("Success")
    query := "select * from goods"
    rows, _ := db.Query(query)

    var id, name, count, price string
    var nameCount map[string] int
    nameCount = make(map[string]int)
    for rows.Next() {
        rows.Scan(&id, &name, &count, &price)
        _count, err := strconv.Atoi(count)
        CheckErr(err, id, name, count, price)
        _, ok := nameCount[name]
        if (ok) {
            nameCount[name] += _count
        } else {
            nameCount[name] = _count
        }
    }

    for k, v := range nameCount {
        fmt.Println(k, v)
    }

    http.HandleFunc("/", AddHandler)
    log.Println("Listen : 15233")
    err = http.ListenAndServe("0.0.0.0:15233", nil)
    CheckErr(err, "ListenErr")
    fmt.Println("Start open")    
}
View Code

运行命令: go run test.go

技术分享图片

浏览器地址输入 localhost:15233。

 

【Go】连接本地MySQL读取数据

原文:https://www.cnblogs.com/zhouys96/p/12793268.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯