用户中心
完整了解做项目的思路,接触一些企业级的开发技术
(尽量少写代码)目标:大家之后都能轻松做出管理系统
本次直播内容:
- 上次直播问题总结✔
- 用户库表设计✔
- 完成登录注册的前后端开发
- 完成用户管理后台的前后端开发
- 其他(根据时间弹性安排)
企业做项目流程
需求分析 ⇒ 设计(概要设计、详细设计)⇒ 技术选型 ⇒
初始化 / 引入需要的技术 ⇒ 写 Demo ⇒ 写代码(实现业务逻辑) ⇒ 测试(单元测试)⇒ 代码提交 / 代码评审 ⇒ 部署⇒ 发布
需求分析
- 登录 / 注册
- 用户管理(仅管理员可见)对用户的查询或者修改
- 用户校验( 仅星球用户 )
技术选型
前端:三件套 + React + 组件库 Ant Design + Umi + Ant Design Pro(现成的管理系统)
后端:
- java
- spring(依赖注入框架,帮助你管理 Java 对象,集成一些其他的内容)
- springmvc(web 框架,提供接口访问、restful接口等能力)
- mybatis(Java 操作数据库的框架,持久层框架,对 jdbc 的封装)
- mybatis-plus(对 mybatis 的增强,不用写 sql 也能实现增删改查)
- springboot(快速启动 / 快速集成项目。不用自己管理 spring 配置,不用自己整合各种框架)
- junit 单元测试库
- mysql 数据库
部署:服务器 / 容器(平台)
计划
-
初始化项目
-
前端初始化 20 min
- 初始化项目 ✔
- 引入一些组件之类的 ✔
- 框架介绍 / 瘦身 ✔
-
后端初始化 20 min
- 准备环境(MySQL 之类的)验证 MySQL 是否安装成功 - 连接一下 ✔
- 初始化后端项目,引入框架(整合框架)✔
-
-
数据库设计
-
登录 / 注册 20min
- 后端 20min
- 规整项目目录 2 min
- 实现基本数据库操作(操作 user 表)
- 模型 user 对象 ⇒ 和数据库的字段关联,自动生成
- 写登录逻辑
- 前端 20min
- 后端 20min
-
用户管理(仅管理员可见) 20 min
- 前端
- 后端
笔记
三种初始化 Java 项目的方式
- GitHub 搜现成的代码
- SpringBoot 官方的模板生成器(https://start.spring.io/)
- 直接在 IDEA 开发工具中生成 ✔
如果要引入 java 的包,可以去 maven 中心仓库寻找(http://mvnrepository.com/)
数据库设计 30 min
什么是数据库?存数据的
数据库里有什么?数据表(理解为 excel 表格)
java 操作数据库,代替人工
什么是设计数据库表?
有哪些表(模型)?表中有哪些字段?字段的类型?数据库字段添加索引?
表与表之间的关联~
性别是否需要加索引?
用户表:
id(主键)bigint
username 昵称 varchar
userAccount 登录账号
avatarUrl 头像 varchar
gender 性别 tinyint
userPassword 密码 varchar
phone 电话 varchar
email 邮箱 varchar
userStatus 用户状态 int 0 - 正常
createTime 创建时间(数据插入时间)datetime
updateTime 更新时间(数据更新时间)datetime
isDelete 是否删除 0 1(逻辑删除)tinyint
自动生成器的使用
MyBatisX 插件,自动根据数据库生成 domain 实体对象、mapper(操作数据库的对象)、mapper.xml(定义了 mapper对象和数据库的关联,可以在里面自己写 SQL)、service(包含常用的增删改查)、serviceImpl(具体实现 service)
注册逻辑
- 用户在前端输入账户和密码、以及校验码(todo)
- 校验用户的账户、密码、校验密码,是否符合要求
- 非空
- 账户长度 不小于 4 位
- 密码就 不小于 8 位吧
- 账户不能重复
- 账户不包含特殊字符
- 密码和校验密码相同
- 对密码进行加密(密码千万不要直接以明文存储到数据库中)
- 向数据库插入用户数据