返回
北京兄弟连IT
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-656-1390

学校地址:北京市昌平区回龙观文华西路育荣教育园区兄弟连IT教育

兄弟连区块链培训Go语言之连接mysql

60 2018-08-29 14:56:18

学习笔记

  Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

 

  兄弟连Go语言+区块链培训课程共计22周学习时长,划分为9个学习阶段,即区块链主流语言-Go语言开发实战、区块链后端技术体系-Go语言高并发和服务器开发、Go开发区块链公链(区块链密码学、分布式编程、共识算法、基本概念,Golan公链开发)、eth与智能合约与DAPP开发、区块链分布式应用开发、区块链系统框架开发-超级账本与区块链3.0EOSGo与区块链面试强化和企业级项目实战。

 

package main

 

// 导入sqljava.sql类似的

import "database/sql"

import _ "mysql"

import "encoding/json"

import "fmt"

 

// 定义一个结构体需要大写开头哦字段名也需要大写开头哦否则json模块会识别不了

// 结构体成员仅大写开头外界才能访问

type User struct {

    User      string    `json:"user"`

    Password string `json:"password"`

    Host   string `json:"host"`

}

 

// 一如既往的main方法

func main() {

    // 格式有点怪, @tcp 是指网络协议(难道支持udp?), 然后是域名和端口

    db, e := sql.Open("mysql", "root:pwd@tcp(localhost:3306)/mysql?charset=utf8")

    if e != nil { //如果连接出错,e将不是nil

        fmt.Println("ERROR?")

        return

    }

    // 提醒一句运行到这里并不代表数据库连接是完全OK因为发送条SQL才会校验密码 !

    _, e2 := db.Query("select 1")//生产环境去掉这句,不然会有内存泄漏

    if e2 == nil {

        fmt.Println("DB OK")

        rows, e := db.Query("select user,password,host from mysql.user")

        if e != nil {

            fmt.Print("query error!!%v\n", e)

            return

        }

        if rows == nil {

            fmt.Println("Rows is nil")

            return

        }

        for rows.Next() { //javaResultSet一样,需要先next读取

            user := new(User)

            // rows支持Scan方法 可以通过GetColumns()来得到字段顺序

            row_err := rows.Scan(&user.User,&user.Password, &user.Host)

            if row_err != nil {

                fmt.Println("Row error!!")

                return

            }

            b, _ := json.Marshal(user)

            fmt.Println(string(b)) // 这里没有判断错误

        }

        fmt.Println("Done")

    } else {

        fmt.Println(e)

    }

}

高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可取《Go语言基础实战项目开发》与《Go语言实战项目开发》教材两本!!限量!!先到先得!!


关注兄弟连区块链技术公众号领取更多技术干货哦!!!


文中图片素材来源网络,如有侵权请联系删除
来源:北京兄弟连IT
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请