之前我们完成了注册,接下来要完成登录功能,但是有个问题,我们的数据没有持久化,无法得知有哪些用户注册了,这样就无法在登录时进行校验。
所以接下来我们要将数据持久化,也就是存储到数据库中,这里使用 MySQL
?建立数据库
首先我们要新建一个库,用来存放项目数据,建立一个名为 ginhello 的库。
create database ginhello;
当我们建立好数据库时,就可以通过 Goland进行数据库连接和使用。
选择 Goland 右侧的 Database,点击 + 号,选择 MySQL。填写相关信息,账户名,密码,要连接的数据库库名等信息,进行连接。
之后我们就可以通过 Goland 的图形化界面去新建立表。
右键选择刚刚连接的 ginhello ,new , table 然后填写字段名称和属性。下面给出建表语句。
create table user
(
id int auto_increment primary key,
email varchar(30) not null,
password varchar(40) not null
)
comment '用户表';
?连接数据库
数据库的表已经建立成功,那么省下来就该与我们的 Gin 建立联系,通过代码连接到数据库。
新建文件夹 initDB 新建 initDB.go。
package initDB
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"log"
)
var Db *sql.DB
func init() {
var err error
Db, err = sql.Open("mysql", "root:1234@tcp(127.0.0.1:3306)/ginhello")
if err != nil {
log.Panicln("err:", err.Error())
}
Db.SetMaxOpenConns(10)
Db.SetMaxIdleConns(10)
}
首先新建一个全局变量sql.DB方便我们后期调用,然后通过 sql.Open对数据进行连接。SetMaxOpenConns 是对 最大链接数的设置 SetMaxIdleConns 是设置最大空闲链接数
经过简单的设置,我们的程序就可以连接到数据库。
?增加用户
当数据库连接上时,就可以完善我们的注册功能。
修改 userModel.go 对 user 添加新的方法。
func (user *UserModel
Gin教程:实现用户注册与登录的数据库操作

本文介绍了如何使用Gin框架连接并操作MySQL数据库,完成用户注册和登录的功能。首先建立了数据库,然后连接数据库并创建用户表。接着通过Gin实现了用户数据的添加,对注册功能进行完善。最后,详细讲解了登录功能的实现,包括从数据库查询用户信息并与前端提交的数据进行匹配。同时强调了编写单元测试的重要性。
最低0.47元/天 解锁文章
1116

被折叠的 条评论
为什么被折叠?



