项目学习:仿b站的视频网站项目02
概括
通过上一期,完成了项目的基础结构的搭建,接下来主要是完成项目的注册和登录功能的编写。
让我们开始吧!
1、数据库搭建
这里需要创建一个名为easylive
的数据库,然后创建一个user_info
表,下面是表的字段和注释。
我这里数据库的可视化界面用的是DBeaver
,不是Navicat Mysql
,所以可视化界面不一样,但是没有关系,核心是一样的就行。
创建完表之后,还需要创建一些索引,这里分别创建了nick_name
和emial
的唯一索引、如下图所示。
详细的sql语句如下所示,仅供参考:
-- easylive.user_info definition
CREATE TABLE `user_info` (
`user_id` varchar(10) NOT NULL COMMENT '用户id',
`nick_name` varchar(20) NOT NULL COMMENT '昵称',
`email` varchar(150) NOT NULL COMMENT '邮箱',
`password` varchar(50) NOT NULL COMMENT '密码',
`sex` tinyint(1) DEFAULT NULL COMMENT '0:女 1:男 2:未知',
`birthday` varchar(10) DEFAULT NULL COMMENT '出生日期',
`school` varchar(100) DEFAULT NULL COMMENT '学校',
`person_introduction` varchar(100) DEFAULT NULL COMMENT '个人简介',
`join_time` datetime NOT NULL COMMENT '加入时间',
`last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
`last_login_ip` varchar(100) DEFAULT NULL COMMENT '最后登录ip',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0:禁用 1:正常',
`notice_info` varchar(300) DEFAULT NULL COMMENT '空间公告',
`total_coin_count` int(11) NOT NULL COMMENT '硬币总数量',
`current_coin_count` int(11) NOT NULL COMMENT '当前硬币数',
`theme` tinyint(1) NOT NULL DEFAULT '1' COMMENT '主题',
PRIMARY KEY (`user_id`),
UNIQUE KEY `user_info_nick_name_IDX` (`nick_name`) USING BTREE,
UNIQUE KEY `user_info_email_IDX` (`email`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
2、项目启动
在配置完数据库后,就可以启动项目进行查询一下试试了。这里可以进行请求访问加载用户信息接口
http://localhost:7071/userInfo/loadDataList
如果请求成功就会出现下面的信息、
{
"status": "success",
"code": 200,
"info": "请求成功",
"data": {
"totalCount": 0,
"pageSize": 15,
"pageNo": 1,
"pageTotal": 1,
"list": []
}
}
3、遇到的问题
在我进行启动项目的时候,一直遇到一个问题报错,无法获取对应的一个Mapper。但是我的包扫描和注解都已经添加上去了。错误如下所示:
Invalid bound statement (not found): com.easylive.mappers.UserInfoMappers.selectCount
这个时候一定要去检查一下对应的resources
目录中存放xml
的文件的路径是否正确。正确的路径应该是逐级包含的三级目录,如果被写成一个目录文件夹就不行了。