一、新增员工
1. 需求分析和设计
2. 代码开发
3. 功能测试
1)接口文档测试
登录令牌有过期时间,可以在登录接口那里再获取一个新的token:
在全局参数设置里,添加这个新的令牌参数:
再次发送请求,则成功:
2)前后端联调
身份证必须18位,手机号第一位必须是1,第二位必须是3-9的数字:
4. 代码完善
1)对用户名存在的SQL异常,做全局异常处理
2)动态获取当前登录用户的ID
生成token的时候就带了id:
所以自然可以在后续获得token时解析出id:
单次请求与线程之间的联系:
同一个请求中,线程的id是一样的(以下分别是controller中打印的,拦截器中打印的,业务层中打印的线程id):
再发起一个添加员工的请求:
则线程id发生变化:(每一次请求都是一个单独的线程)
ThreadLocal :
对ThreadLocal 进行封装的工具类:
在拦截器中存入当前用户id:(每次请求都这样把当前用户id存入这个请求的线程,所以每次请求都能获取当前用户id)
在业务层中取出当前用户的id:
二、员工分页查询
1. 需求分析和设计
2. 代码开发
对PageResult对象再进行封装后返回给前端:
EmployeeController :
EmployeeServie :
EmployeeServieImpl : (PageHelper 插件)
EmployeeMapper :
因为安装了mybatisX的插件,所以可以直接这样跳转到xml文件:
EmployeeMapper.xml 文件,id是方法名,返回值类型是对应的泛型:
3. 功能测试
1)接口文档测试(注意token的有效期)
2)前后端联调
4. 代码完善(优化日期的显示)
1)方式一(加注解)
2)方式二(拓展SpringMVC消息转换器)
提前写好的对象转换器:
三、启用禁用员工账号
1. 需求分析和设计
2. 代码开发
EmployeeController :
EmployeeService :
EmployeeServiceImpl :
EmployeeMapper.java :
EmployeeMapper.xml :
3. 功能测试
四、编辑员工
1. 需求分析和设计
2. 代码开发
1)查询操作
EmployeeController.java :
EmployeeService.java :
EmployeeServiceImpl.java :
EmployeeMapper.java :
2)修改操作
EmployeeController.java :
EmployeeService.java :
EmployeeServiceImpl.java :
3. 功能测试
1)查询操作
点击修改,显示了员工的相关信息: