鲜榨白开水
2021-05-17 16:17
采纳率: 50%
浏览 37
已采纳

求大佬解读一下这一段分页的代码是怎样实现的!!!!

1.持久层分页功能实现的关键代码:

String sql = "select count(*) from v_student" + whereSql;

Number number = (Number) qr.query(sql, new ScalarHandler(), params.toArray());

int tr = number.intValue();// 得到了总记录数

sql = "select * from v_student" + whereSql + " limit ?,?";

params.add((pc - 1) * ps);// 当前页首行记录的下标

params.add(ps);// 一共查询几行,就是每页记录数

List<Student> beanList = qr.query(sql, new BeanListHandler<Student>(

Student.class), params.toArray());

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-三岁丫 2021-05-17 17:13
    已采纳

    主要是依赖于 sql 的 limit x,y。有两个参数 ,x 表示从第几条记录开始,y 表示取几条记录。如果对应到你的代码可以理解为 y 就是 pageSize,而 x 的话需要计算出来 (pageNum(页码) - 1) * pageSize

    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题