黑马苍穹外卖分页查询模块笔记

首先通过Controller来调用Service接口

    @GetMapping("/page")
    @ApiOperation("分页查询员工")
    public Result page(EmployeePageQueryDTO employeePageQueryDTO) {
        log.info("分页查询差数:{}", employeePageQueryDTO);
        PageResult pageResult = employeeService.pageQuery(employeePageQueryDTO);
        return Result.success(pageResult);//返回pageResult封装的,带有查询结果的对象给前端
    }

实现Service接口

     /**
     * 分页查询
     * @param employeePageQueryDTO
     * @return
     */
    @Override
    public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) {
        //select * from employee limit 0 ,10  分页查询的本质
        //开始分页查询
        //使用分页查询插件pageHelper,startPage方法中只需要:查询第几页,每页的大小
        PageHelper.startPage(employeePageQueryDTO.getPage(),
                             employeePageQueryDTO.getPageSize());
        //调用持久层的查询方法,并用实体类Page封装
        Page<Employee> page = employeeMapper.pageQuery(employeePageQueryDTO);
        //将查询结果返回
        return new PageResult(page.getTotal() ,page.getResult());
    }

实体类补充:Page是PageHelper自带的实体类,封装了getTotal() 和getResult(),分别是当页总记录数和当页数据集合

持久层通过mybatis,mybatisX实现查询

Page<Employee> pageQuery(EmployeePageQueryDTO employeePageQueryDTO);
    <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>

总结:PageHelper,底层实现了分页操作,大大简化了持久层操作,只需查询一下整张表即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值