分页

Day32项目saas-export项目-分页显示_ico


分页页面使用到的数据有4整数,一个集合 参考PageBean

pagehelper使用

  • (1)依赖
  • (2)配置
    》配置有两种方式
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--使用下面的方式配置参数,一行配置一个 -->
<!-- pageNum<=0 时会查询第一页 -->
<!-- 指定数据库方言 -->
<value>
reasonable=true
helperDialect=mysql
</value>
</property>
</bean>
</array>

</property>

后台代码

按指定的页号获取数据

Day32项目saas-export项目-分页显示_ico_02

按照指定 的每页记录数来获取

Day32项目saas-export项目-分页显示_mysql_03

TestCompanyService

@Test
public void test06(){
int currentPage = 1;
int pageSize = 3;
//PageInfo 包含四个整数 一个集合
PageInfo<Company> pi = service.findPage(currentPage,pageSize);

l.info("test06 pi = "+pi);
}

ICompanyService

<Company> findPage(int currentPage, int pageSize);

CompanyServiceImpl

@Override
public PageInfo<Company> findPage(int currentPage, int pageSize) {
//设置参数
PageHelper.startPage(currentPage,pageSize);
//查询由拦截器在 select * from ss_company 基础上,生成
//select count(*) from ss_company
//select * from ss_company limit (currentPage-1)*pageSize ,pageSize
List<Company> list = iCompanyDao.findAll();
//将集合封装
PageInfo<Company> pi = new PageInfo<>(list);
return pi;
}

前台代码

CompanyController

@RequestMapping(path="/toList",method = RequestMethod.GET)
public String toList( Integer curr, Integer pageSize, Model model){
//调service获取数据
if (curr == null) {
curr = 1;
}
if (pageSize == null) {
pageSize = 10;
}
PageInfo<Company> pi = iCompanyService.findPage(curr,pageSize);
l.info("toList pi="+pi);
model.addAttribute("pi",pi);
//将数据发到页面,使用标签
return "company/company-list";
}

company-list.jsp

Day32项目saas-export项目-分页显示_java_04

<div class="box-tools pull-right">
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">首页</a>
</li>
<c:if test="${pi.hasPreviousPage}">
<li><a href="#">上一页</a></li>
</c:if>

<c:forEach begin="1" end="${pi.pages}" step="1" varStatus="vs" >
<c:if test="${vs.index == pi.pageNum}">
<li class="active" ><a href="#" >${vs.index}</a></li>
</c:if>

<c:if test="${vs.index != pi.pageNum}">
<li><a href="#">${vs.index}</a></li>
</c:if>

</c:forEach>

<c:if test="${pi.hasNextPage}">
<li><a href="#">下一页</a></li>
</c:if>
<li>
<a href="#" aria-label="Next">尾页</a>
</li>
</ul>
</div>

</div>