• 苍穹外卖--员工分页查询


    请求参数封装:

    @Data
    public class EmployeePageQueryDTO implements Serializable {
    
        //员工姓名
        private String name;
    
        //页码
        private int page;
    
        //每页显示记录数
        private int pageSize;
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    请求结果封装:

    public class PageResult implements Serializable {
    
        private long total; //总记录数
    
        private List records; //当前页数据集合
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Controller层

     @GetMapping("/page")
        @ApiOperation("员工分页查询")
        public Result<PageResult> page(EmployeePageQueryDTO employeePageQueryDTO){
            log.info("员工分页查询,参数为:{}", employeePageQueryDTO);
            PageResult pageResult = employeeService.pageQuery(employeePageQueryDTO);//后续定义
            return Result.success(pageResult);
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Service层

    public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) {
            // select * from employee limit 0,10
            //开始分页查询
            PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize());
    
            Page<Employee> page = employeeMapper.pageQuery(employeePageQueryDTO);//后续定义
    
            long total = page.getTotal();
            List<Employee> records = page.getResult();
    
            return new PageResult(total, records);
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    Mapper层

    Page<Employee> pageQuery(EmployeePageQueryDTO employeePageQueryDTO);
    
    • 1
    在 src/main/resources/mapper/EmployeeMapper.xml 中编写SQL:
    
    
    • 1
    • 2
    <select id="pageQuery" resultType="com.sky.entity.Employee">
            select * from employee
            <where>
                <if test="name != null and name != ''">
                    and name like concat('%',#{name},'%')
                </if>
            </where>
            order by create_time desc
        </select>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    代码完善

    在这里插入图片描述
    时间的格式有问题:

    在WebMvcConfiguration中扩展SpringMVC的消息转换器,统一对日期类型进行格式处理

    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
            log.info("扩展消息转换器...");
            //创建一个消息转换器对象
            MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
            //需要为消息转换器设置一个对象转换器,对象转换器可以将Java对象序列化为json数据
            converter.setObjectMapper(new JacksonObjectMapper());
            //将自己的消息转化器加入容器中
            converters.add(0,converter);
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    玩转Linux与运维岗(31)
    【Proteus仿真】定时器0作为16位计数器使用示例
    视频在线压缩
    mysql锁(全局锁、表锁、行锁、页锁、排他锁、共享锁)
    自大型人格分析,如何改变自大型性格?
    JUCE框架教程(5)——Plugin项目构造基础
    用AI在本地给.NET设计几张壁纸
    app毕业设计作品安卓毕业设计成品基于Uniapp+SSM实现的智能课堂管理
    mac 上配置 git send-email
    如何做好一场高效的讨论
  • 原文地址:https://blog.csdn.net/m0_57682986/article/details/134476960