使用springboot实现分页功能

分页查询(通过mysql的基础实现分页查询)

(一:)在mapper中创建UserMapper.class实现方法

    List<User> selectPage(Integer pageNum,Integer pageSize,String username);
    Integer total(String username);

(二)在mapper.*中实现sql查询

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hailong.dao.UserDao"> 
<select id="selectPage" resultType="com.hailong.pojo.User">
        select * from sys_user where username like concat('%',#{username},'%') limit #{pageNum},#{pageSize}
    </select><!--通过limit关键字实现分页功能-->

    <select id="total" resultType="java.lang.Integer">
        select count(*) from sys_user where username like concat('%',#{username},'%');
    </select><!--查询总数-->
</mapper>

(三:)在controller中编写具体的方法:其中,pageNum为起始页,pageSize为一页的展示条数

  @GetMapping("/page")
    public Map<String,Object> findPage(@RequestParam Integer pageNum,
                                       @RequestParam Integer pageSize,
                                       @RequestParam String username){
        pageNum = (pageNum - 1)* pageSize;    //RequestParam接收?pageNum=1&pageSize=10;  
        Map<String,Object> res = new HashMap<>();
        List<User> data = userDao.selectPage(pageNum,pageSize,username);
        Integer total = userDao.total(username);
        res.put("data",data);
        res.put("total",total);
        return res;
    }
注://结论:limit第一个参数 =(pageNum - 1)* pageSize

(四:)通过前端传输的pageSize和pageNum进行分页查询,前端传输的username是在前端进行模糊查询时使用的,当前端进行搜索时,对查询出的数据进行分页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值