GO Web编程---网上书店(2)实现登陆/注册

书接上回,上个博客讲解了go语言如何创建服务器,解析模版等,今天,我们将实现登陆注册等功能,同时介绍一些新的函数

本文完成之后的目录结构:

1、在主目录下新建文件夹utils(工具),新建db.go文件

package utilsimport ("database/sql"_ "github.com/go-sql-driver/mysql"
)var (Db *sql.DBerr error
)func init() {Db, err = sql.Open("mysql", "root:root1234@tcp(localhost:3306)/library")if err != nil {panic(err.Error())}
}

引入两个包,
其中最主要的就是github.com/go-sql-driver/mysql,它是第三方库,用来进行数据库连接

func Open(driverName, dataSourceName string) (*DB, error)
Open打开一个dirverName指定的数据库,dataSourceName指定数据源,一般包至少括数据库文件名和(可能的)连接信息大多数用户会通过数据库特定的连接帮助函数打开数据库,返回一个*DB。Go标准库中没有数据库驱动。参见http://golang.org/s/sqldrivers获取第三方驱动。

使用方法为

db, err := sql.Open("mysql", "用户名:密码@tcp(IP:端口)/数据库?charset=utf8")

_ “github.com/go-sql-driver/mysql”
注意到前面的 _ 意味导入包但不引用,防止没有使用的报错

2、继续,在主目录下新建model(模型),新建user.go,用存放user的结构体

package model//User 结构体
type User struct {Uid intUsername stringPassword stringEmail string
}

3、新建dao文件夹(软件程序架构专业术语,意为数据库访问对象),创建userdao.go,用于写与数据库相关的函数

//插入
func SaveUser(username string, password string, email string)  error {//写sql语句sqlStr := "insert into users (username, password, email) values(?,?,?)"//执行_, err := utils.Db.Exec(sqlStr, username, password, email)if err != nil {return err}return nil
}

解释:
先创建sqlStr变量存储sql语句
然后调用Exec进行执行,参数是sqlStr, username, password, email

第一个函数,用用户名、密码、邮箱在数据库中


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部