mysql定向链接,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)

}

}

未完,待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值