其实这一篇是跟上一篇在同一天写的,上一篇是补上以前落下的。这篇就是今天应该写的。 mysql
这里写的是mysql。首先下载一个go才作mysql的第三方驱动包。我使用的是https://github.com/go-sql-driver/mysql,固然也能够用其余的。第一篇有提过配置GOPATH做为第三方包的安装路径吧。个人是/home/leaf/.mygo。运行 git
go get github.com/go-sql-driver/mysql
以后把这个驱动包下载到/home/leaf/.mygo下。
使用其实很是简单。以下打开数据库 github
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包里面。 golang
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) } }
未完,待续 web