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

请求参数封装:

cpp 复制代码
@Data
public class EmployeePageQueryDTO implements Serializable {

    //员工姓名
    private String name;

    //页码
    private int page;

    //每页显示记录数
    private int pageSize;

}

请求结果封装:

cpp 复制代码
public class PageResult implements Serializable {

    private long total; //总记录数

    private List records; //当前页数据集合

}

Controller层

cpp 复制代码
 @GetMapping("/page")
    @ApiOperation("员工分页查询")
    public Result<PageResult> page(EmployeePageQueryDTO employeePageQueryDTO){
        log.info("员工分页查询,参数为:{}", employeePageQueryDTO);
        PageResult pageResult = employeeService.pageQuery(employeePageQueryDTO);//后续定义
        return Result.success(pageResult);
    }

Service层

cpp 复制代码
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);
    }

Mapper层

cpp 复制代码
Page<Employee> pageQuery(EmployeePageQueryDTO employeePageQueryDTO);
cpp 复制代码
在 src/main/resources/mapper/EmployeeMapper.xml 中编写SQL:
cpp 复制代码
<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>

代码完善

时间的格式有问题:

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

cpp 复制代码
protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        log.info("扩展消息转换器...");
        //创建一个消息转换器对象
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        //需要为消息转换器设置一个对象转换器,对象转换器可以将Java对象序列化为json数据
        converter.setObjectMapper(new JacksonObjectMapper());
        //将自己的消息转化器加入容器中
        converters.add(0,converter);
    }
相关推荐
neo_Ggx234 小时前
Maven 版本管理详解:SNAPSHOT、Release 与 Nexus 仓库的区别和影响
java·maven
tongluowan0074 小时前
Spring MVC 底层工作流程+源码分析
java·spring·mvc
Hexian25805 小时前
SpringAI系列(基础概念&springai系列 API)
spring·ai
Volunteer Technology8 小时前
SpringAI Chat Client (四)
人工智能·spring
ShiJiuD6668889999 小时前
springboot基础篇
java·spring boot·spring
敲敲千反田9 小时前
Spring AI
java·人工智能·spring
拽着尾巴的鱼儿10 小时前
spring 动态代理
java·后端·spring
云烟成雨TD10 小时前
Spring AI Alibaba 1.x 系列【52】Interrupts 中断机制:案例演示
java·人工智能·spring
云烟成雨TD11 小时前
Spring AI Alibaba 1.x 系列【51】Graph 整体运行全流程
java·人工智能·spring
霑潇雨11 小时前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven