SSM利用pageHelper实现分页
2018-03-27 18:56
706 查看
给大家分享一个简单实用的分页处理
一、需要pageHelper的包<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>注意版本不能小于4.0.0
二、配置SqlMapConfig.xml<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins> 三、serviceImplpublic PageResult<Notice> selectAll(int page,int pageSize) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
PageHelper.startPage(page, pageSize);
List<Notice> list=noticeMapper.selectAll();
PageResult<Notice> pageResult=new PageResult<Notice>();
pageResult.setRows(list);
//计算总条数
PageInfo<Notice> pageInfo=new PageInfo<Notice>(list);
Long total=pageInfo.getTotal();
//计算总页数
Long countPage;
if(total%pageSize==0){
countPage=total/pageSize;
}else{
countPage=total/pageSize+1;
}
pageResult.setCountPage(countPage);
return pageResult;
}
这个返回的结果类自己创建一下就行了,主要是private Long countPage;
//任意类型
private List<?> rows;
public Long getCountPage() {
return countPage;
}四、controller
把数据传到页面
@GetMapping("/toNotices")
public String toNotices(@RequestParam(defaultValue="1") int page,Model model){
PageResult<Notice> pageResult=noticeService.selectAll(page, 10);
model.addAttribute("notices", pageResult.getRows());
model.addAttribute("countPage", pageResult.getCountPage());
model.addAttribute("page", page);
return "view/notices";
}五、jsp <div id="barDivId">
<input type="hidden" value="${page }" id="page">
总页数:${countPage} | 当前页:${page}
|
<a href="${path }/notice/toNotices?page=1">首页</a>
|
<c:if test="${page==1}">上一页</c:if>
<c:if test="${page>1}"><a href="${path }/notice/toNotices?page=${page-1}">上一页</a></c:if>
|
<c:if test="${page==countPage}">下一页</c:if>
<c:if test="${page<countPage}"><a href="${path }/notice/toNotices?page=${page+1}">下一页</a></c:if>
|
<a href="${staticPath }/notice/toNotices?page=${countPage}">末页</a>
</div>好了就这些,欢迎大神指正批评
一、需要pageHelper的包<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>注意版本不能小于4.0.0
二、配置SqlMapConfig.xml<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins> 三、serviceImplpublic PageResult<Notice> selectAll(int page,int pageSize) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
PageHelper.startPage(page, pageSize);
List<Notice> list=noticeMapper.selectAll();
PageResult<Notice> pageResult=new PageResult<Notice>();
pageResult.setRows(list);
//计算总条数
PageInfo<Notice> pageInfo=new PageInfo<Notice>(list);
Long total=pageInfo.getTotal();
//计算总页数
Long countPage;
if(total%pageSize==0){
countPage=total/pageSize;
}else{
countPage=total/pageSize+1;
}
pageResult.setCountPage(countPage);
return pageResult;
}
这个返回的结果类自己创建一下就行了,主要是private Long countPage;
//任意类型
private List<?> rows;
public Long getCountPage() {
return countPage;
}四、controller
把数据传到页面
@GetMapping("/toNotices")
public String toNotices(@RequestParam(defaultValue="1") int page,Model model){
PageResult<Notice> pageResult=noticeService.selectAll(page, 10);
model.addAttribute("notices", pageResult.getRows());
model.addAttribute("countPage", pageResult.getCountPage());
model.addAttribute("page", page);
return "view/notices";
}五、jsp <div id="barDivId">
<input type="hidden" value="${page }" id="page">
总页数:${countPage} | 当前页:${page}
|
<a href="${path }/notice/toNotices?page=1">首页</a>
|
<c:if test="${page==1}">上一页</c:if>
<c:if test="${page>1}"><a href="${path }/notice/toNotices?page=${page-1}">上一页</a></c:if>
|
<c:if test="${page==countPage}">下一页</c:if>
<c:if test="${page<countPage}"><a href="${path }/notice/toNotices?page=${page+1}">下一页</a></c:if>
|
<a href="${staticPath }/notice/toNotices?page=${countPage}">末页</a>
</div>好了就这些,欢迎大神指正批评
相关文章推荐
- SSM+easyUI结合Mybatis-PageHelper实现分页功能
- SSM框架集成PageHelper插件,实现分页功能
- SSM框架中集成TKMybatis+PageHelper实现高效查询和分页
- 实现ssm加layui数据表格展示数据,搜索,编辑,分页(后台用pagehelper),排序,查看图片 ,点击查看大图(弹出层)
- 在 SSM 中基于 MyBatis-PageHelper 分页插件的分页功能实现
- SpringBoot+Mybatis+PageHelper简化分页实现
- Mybatis的pageHelper插件实现分页
- Mybatis分页插件PageHelper实现自动分页
- Vue2.0+ElementUI+PageHelper实现的表格分页
- ASP.NET MVC4 HtmlHelper扩展类,实现分页功能 @Html.ShowPageNavigate
- Mybatis pageHelper 配合jquery DataTable实现分页效果
- MyBatis代码实例系列-10:MyBatis通过PageHelper插件实现分页查询
- MyBatis+PageHelper实现分页
- bootstrap与pagehelper实现分页
- ssm 使用 PageHelper 插件分页
- 【JAVA秒会技术之玩转高效分页】EasyUI + PageHelper实现分页
- pageHelper实现分页
- SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
- java分页的实现,插件PageHelper的使用及原理
- spring+Mybatis+ PageHelper实现分页