wordpress视频网站上传视频,提升学历是什么意思,it行业职位薪资一览表,网站建设需要域名吗?2. 员工分页查询
2.1 需求分析和设计
2.1.1 产品原型 2.1.2 接口设计 2.2 代码开发
2.2.1 设计DTO类
根据请求参数进行封装
2.2.2 封装PageResult
后面所有的分页查询#xff0c;统一都封装为PageResult对象。
员工信息分页查询后端返回的对象类型为: Result
2.…2. 员工分页查询
2.1 需求分析和设计
2.1.1 产品原型 2.1.2 接口设计 2.2 代码开发
2.2.1 设计DTO类
根据请求参数进行封装
2.2.2 封装PageResult
后面所有的分页查询统一都封装为PageResult对象。
员工信息分页查询后端返回的对象类型为: Result
2.2.3 Controller层
因为前端传过来的不是Json格式数据, 所以不需要RequestBody
/*** 员工分页查询* param employeePageQueryDTO* return*/GetMapping(/page)ApiOperation(员工分页查询)public ResultPageResult page(EmployeePageQueryDTO employeePageQueryDTO){log.info(员工分页查询参数为{}, employeePageQueryDTO);PageResult pageResult employeeService.pageQuery(employeePageQueryDTO);//后续定义return Result.success(pageResult);} 2.2.5 Service层实现类
在EmployeeServiceImpl中实现pageQuery方法 /*** 分页查询** param employeePageQueryDTO* return*/public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) {// select * from employee limit 0,10//开始分页查询PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize());PageEmployee page employeeMapper.pageQuery(employeePageQueryDTO);//后续定义long total page.getTotal();ListEmployee records page.getResult();return new PageResult(total, records);}
2.2.6 Mapper层
/*** 分页查询* param employeePageQueryDTO* return*/PageEmployee pageQuery(EmployeePageQueryDTO employeePageQueryDTO); 细节一 : PageHelper
**注意**此处使用 mybatis 的分页插件 PageHelper 来简化分页代码的开发。底层基于 mybatis 的拦截器实现。
public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) { // select * from employee limit 0,10 // 开始分页查询 PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize()); PageEmployee page employeeMapper.pageQuery(employeePageQueryDTO); long total page.getTotal(); ListEmployee records page.getResult(); return new PageResult(total, records); } 实现细节 PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize()); ⬇ ⬇ ⬇ ⬇ 所以PageHelper底层还是一个ThreadLocal 而在之后的分页查询操作之前, 就会从ThreadLocal变量中把分页要求(页码, 每页记录数)查询出来
并在执行查询语句时, 动态得加上 limit 限制
select * from employee limit 0,10
故在pom.xml文中添加依赖(初始工程已添加)
细节二 : 扩展SpringMVC框架的消息转换器 解决方式
1). 方式一
在属性上加上注解对日期进行格式化 太麻烦了 不用
2). 方式二推荐 )
在WebMvcConfiguration中扩展SpringMVC的消息转换器统一对后端返回给前端的日期数据类型进行格式处理
converters是整个SpringMVC使用的转化器集合 对象转换器继承自Jackson 包中进行json处理的类,
将属性中的LocalDataTime类型数据进行格式化处理