1 .基本构想
我现阶段的分页查询实现基于sql语句。
选择* from user where id limit a,b
构建相应的a和b,就可以检索想要的数据并显示在页面上。 重要的是,要构建当前页数,必须封装javaBean并存储有关分页的基本属性。
这只需要在服务层计算想要的页数,封装基本信息,并在查询中显示在前端即可。
2 .具体实现
定义JavaBean
公共@数据
classpagebeanimplementsserializable {
私有集成页; //当前页数
私有积分器限制;//每页显示数
私有integer总页面; //总页数
私有integer总体; //总记录数
私有列表页面记录; //当前页面的数据集合
私有列表页; 返回用于显示索引页上一页、下一页的页数的集合
}
2 .控制器:
pagebean pagebean=question service.question list (page );
返回一个QuestionDTO类型的JavaBean,其中包含分页符信息和要在当前页上显示的数据集。 关于队列待办事宜:
公共@数据
类问题dto {
私有integer id;
私有字符串标题;
私有字符串描述;
私密长GMT创建;
私密长GMT修改;
私有集成器创建器;
私有集成器身份验证计数;
私有集成器视图计数;
隐私积分仪like count;
私有字符串标签;
隐私用户用户;
}
3 .调用的服务:
//检查所有问题并回发到索引页
publicpagebeanquestionlist (integer page ) {
列表列表=new ArrayList (;
PageBean pagesinfo=new PageBean (;
//1 .设置limit
集成极限=5;
pagesinfo.setlimit(limit );
//2 .设定总记录数
integer total=question mapper.fing count (;
pages info.set total (总);
//3 .设置总页数
集成页;
if (总限制==0) {
totalPage=total/limit;
}else{
总页面=总/极限1;
}
pages info.set total page (总页);
//4 .设置页数集合
列表页=new ArrayList (;
for(intI=1; I
pages.add(I;
}
pagesinfo.setpages(pages;
//5 .设置每页的数据集
list questions=question mapper.question list (page,limit );
for (question question : questions ) {
useruser=user mapper.find byid (question.getcreatar () );
questiondtoquestiondto=newquestiondto (;
beanutils.copy properties (question,questionDTO );
questionDTO.setuser(user );
list.add(questionDTO );
}
pages info.setpage recode (列表;
返回页面信息;
}
在服务层中为PageBean属性赋值并查询相关数据。 如果对上述代码的步骤5有疑问,请参阅如何实现多表联合查询的简单替代。
4 .映射器
//检查所有问题并返回索引页
@ select (select * fromquestionwhereidlimit # { page },#{limit} ) )
listquestionlist(integerpage,Integer limit;
//查询总问题数
@ select (选择计数) id (来自队列) ) )。
集成电路fing count (;
这些完成后,将查询中的数据封装在控制器的PageBean中。 返回前端显示就完成了。
5 .前端代码
«
»
循环取出page。
另一种方法是使用在mybatis-generator中生成的寻呼查询方法
1 .新的generatorConfig.xml配置文件‘
/p
public '-//my batis.org//dtdmybatisgeneratorconfiguration 1.0//en '
' http://my batis.org/dtd/my batis-generator-config _1_0. dtd '
连接URL=' JDBC : MySQL ://localhost 33603306/community? xfdsp=utf-8serverTimezone=UTC '
userId='root '
password='root '
注:配置文件的名称固定为generatorConfig.xml
2 .在控制台上运行命令mvn-dmybatis.generator.overwrite=truemybatis-generator 3360 generate以生成具有分页查询方法的代码
注意: overwrite=true可以覆盖上次生成的代码,并根据实际需要进行调整。
3 .范例:
questionexampleexample=newquestionexample (;
example.createCriteria ()。
安卓(id;
列表questions=question mapper.selectbyexamplewithrowbounds (example,newrowbounds ) page,limit );
设置页数和每页显示的数量,可以返回相应的结果集。 同样也可以分页。
继续更新~~~