java实现分页查询

您所在的位置:网站首页 sql分页查询怎么实现 java实现分页查询

java实现分页查询

2024-05-13 04:33| 来源: 网络整理| 查看: 265

1.基本思路

我现阶段的分页查询的实现是基于sql语句的。

select * from user where id limit a, b

构造出相应的a和b就可以查询出想要的数据,在显示在页面上。重点是要构造出当前的页数,就要封装一个javaBean,存储有关分页的基本属性。

这样只需在service层计算想要的页数,并封装基本的信息,在查询出来显示在前端就可以了。

2.具体实现 1.定义JavaBean public @Data class PageBean implements Serializable { private Integer page;//当前页数 private Integer limit;//每页显示数 private Integer totalPage;//总页数 private Integer total;//总记录数 private List pageRecode;//当前页面的数据集合 private List pages;//返回页数的集合,用于显示index页面的上一页、下一页 } 2.controller: PageBean pageBean = questionService.questionList(page);

返回一个QuestionDTO类型的JavaBean,其中包含了分页的一些信息和当前页面所要显示的数据集合。有关QuestionDTO:

public @Data class QuestionDTO { private Integer id; private String title; private String description; private Long gmtCreate; private Long GmtModified; private Integer creator; private Integer attentionCount; private Integer viewCount; private Integer likeCount; private String tag; private User user; } 3.调用的Service: //查询所有的问题回显到index页面 public PageBean questionList(Integer page) { List list = new ArrayList(); PageBean pagesinfo = new PageBean(); //1.设置limit Integer limit = 5; pagesinfo.setLimit(limit); //2.设置总记录数 Integer total = questionMapper.fingCount(); pagesinfo.setTotal(total); //3.设置总的页数 Integer totalPage; if(total % limit == 0){ totalPage = total / limit; }else{ totalPage = total / limit + 1; } pagesinfo.setTotalPage(totalPage); //4.设置页数的集合 List pages = new ArrayList(); for(int i=1;i

注:配置文件的名称固定是generatorConfig.xml 2.在控制台运行命令mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate生成带有分页查询方法的代码 注:overwrite=true会覆盖掉前一次生成的代码,可根据实际需求进行调整。 3.举例:

QuestionExample example = new QuestionExample(); example.createCriteria(). andCreatorEqualTo(id); List questions = questionMapper.selectByExampleWithRowbounds(example, new RowBounds(page,limit));

设置好页数和每一页显示的个数,就可以返回对应的结果集。也同样可以做到分页。

持续更新~~~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3