GO学习第四天——链接mysql数据库

    其实这一篇是跟上一篇在同一天写的,上一篇是补上之前落下的。这篇就是今天应该写的。

    这里写的是mysql。首先下载一个go才做mysql的第三方驱动包。我使用的是https://github.com/go-sql-driver/mysql,当然也可以用其他的。第一篇有提过配置GOPATH作为第三方包的安装路径吧。我的是/home/leaf/.mygo。运行

 go get github.com/go-sql-driver/mysql
之后把这个驱动包下载到/home/leaf/.mygo下。

使用其实非常简单。如下打开数据库

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user:password@/dbname")
增删查改操作可以查看 https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/05.2.md

    我在这里就贴一下我自己写的代码。首先我把打开数据库操作封装了在一个database包里面。

package database

import (
	 _ "github.com/go-sql-driver/mysql"
    "database/sql"
)

const dbname string = "root"
const dbpwd string = "root"

func GetInstance() *sql.DB{
	db, err := sql.Open("mysql", dbname+":"+dbpwd+"@/OA")
	if err != nil {
		return nil
	}
	return db
}
下面是我调用数据库查找的代码

func checkUser(username string, password string) bool {
	db := database.GetInstance()
	
	rows, err := db.Query("SELECT uid FROM user where username=? and password=?",username,password)
    utils.CheckErr(err)

    var uid int
    var isLogined = false
    if rows.Next() {
    	err = rows.Scan(&uid)
    	utils.CheckErr(err)
    	isLogined = true
    }

    defer db.Close()
	return isLogined
}
这个方法是用来检测用户输入的帐号密码是否正确,在注册方法里面调用它,如果正确就调用http.Redirect(w, r, "/tasks", http.StatusFound)从定向到localhost:9090/tasts(这个当然要先在main中注册好啦)。utils.CheckErr(err)是我一个封装的方法

package utils

func CheckErr(err error) {
    if err != nil {
        panic(err)
    }
}

                                               

                                                                                                                        未完,待续

转载于:https://my.oschina.net/zlLeaf/blog/174407

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值