科技公司网站php源码,企业网站建设技巧,上海企业做网站,学习建设网站难么文章目录 员工分页查询功能实现需求分析和设计代码开发pageHelper底层代码完善 启用禁用员工账号功能开发需求分析 员工分页查询功能实现
需求分析和设计 代码开发
先设计类 将对应分页查询的传参类以及结果类进行封装
对应真正返回的为ResultPageResultController… 文章目录 员工分页查询功能实现需求分析和设计代码开发pageHelper底层代码完善 启用禁用员工账号功能开发需求分析 员工分页查询功能实现
需求分析和设计 代码开发
先设计类 将对应分页查询的传参类以及结果类进行封装
对应真正返回的为ResultPageResultController
/**** param employeePageQueryDTO* return*/GetMapping(/page)ApiOperation(员工分页查询)public ResultPageResult page(RequestBody EmployeePageQueryDTO employeePageQueryDTO){log.info(员工分页查询参数为{},employeePageQueryDTO);PageResult pageResultemployeeService.pageQuery(employeePageQueryDTO);return Result.success(pageResult);}serviceimpl
Overridepublic PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) {//select * from employee limit 0,10(开始记录数一共几条) 页码和一页记录数//对应关系limit (页码-1)*每页记录数一页记录数,通过pageHelper//自己学一下PageHelper插件PageHelper.startPage(employeePageQueryDTO.getPage(),employeePageQueryDTO.getPageSize());PageEmployee page employeeMapper.pageQuery(employeePageQueryDTO);long total page.getTotal();ListEmployee result page.getResult();return new PageResult(total,result);}Mapper PageEmployee pageQuery(EmployeePageQueryDTO employeePageQueryDTO);对应的xml文件
select idpageQuery resultTypecom.sky.entity.Employee-- 返回结果实际为集合中的单个元素可以点击错误自动生成这个标签select * from employeewhereif testname ! null and name !and name LIKE concat(%,#{name},%)/if/whereorder by create_time desc/selectpageHelper底层
为什么我们并没有查询对应的 sql还能呈现出分页效果呢 pagehelper底层也是根据ThreadLocal来实现分页查询 然后在查询的时候取出来进行动态的拼接 顺手还能把计算做了
代码完善
测试完后发现返回的修改时间数据以数据的形式返回 渲染后不是我们想要的结果 应为xxxx年xx月x日 xx时 xx分 xx秒 完善 方式1是针对单个 方式2是统一处理 先只修改createtime重新启动测试 createtime变了但updatetime还是数组形式 第二种方式 /*** 扩展springmvc框架的消息转换器* param converters*/Overrideprotected void extendMessageConverters(ListHttpMessageConverter? converters) {//扩展消息转换器//自己创建一个消息转换器对象MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter new MappingJackson2HttpMessageConverter();//为消息转化器设置一个对象转换器可以将java对象序列化为json数据mappingJackson2HttpMessageConverter.setObjectMapper(new JacksonObjectMapper());//将自己的消息转换器加入容器中converters.add(0,mappingJackson2HttpMessageConverter);}
}对象转换器需要我们自己进行设置
converters.add(0,mappingJackson2HttpMessageConverter); 默认添加消息转换器会放到最后一位我们设置索引0优先级会变为最高 最后的效果
启用禁用员工账号功能开发
需求分析
启用状态账号可以禁用显示禁用的操作 禁用状态的账号相反 当然被禁用的账号是不能进行登录的