1.引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.4</version>
</dependency>
2.在mybatis配置文件中引入PageHelper插件,spring boot中不需要配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 引入 pageHelper插件 -->
<!--注意这里要写成PageInterceptor, 5.0之前的版本都是写PageHelper, 5.0之后要换成PageInterceptor-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!--reasonable:分页合理化参数,默认值为false。
当该参数设置为 true 时,pageNum<=0 时会查询第一页,
pageNum>pages(超过总数时),会查询最后一页。
默认false 时,直接根据参数进行查询。-->
<property name="reasonable" value="true"/>
</plugin>
</plugins>
</configuration>
3. 数据访问层Dao
List<Map<String ,Object>> findAll();
4. mybatis映射文件中Sql语句
<select id="findAll" resultType="com.qf.entity.Cost">
select * from cost
</select>
5.业务逻辑层
public PageInfo<Map<String, Object>> findAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<Map<String, Object>> list = costDao.findAll();
PageInfo<Map<String, Object>> pageInfo = new PageInfo<Map<String, Object>>(list);
return pageInfo;
}
6.控制层
@RequestMapping("/findCost.do")
public String find(@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "5")Integer pageSize, Model model) {
PageInfo<Map<String, Object>> pager = costService.findAll(pageNum, pageSize);
List<Map<String, Object>> list = pager.getList();
model.addAttribute("costs", list);
model.addAttribute("PageNum", pager.getPageNum());
model.addAttribute("PageSize", pager.getPageSize());
model.addAttribute("Total", (pager.getTotal()+pager.getPageSize()-1)/pager.getPageSize());
//request.getReqeuestDistpath().for
return "cost/cost_list";
}