分页插件pagehelper
分页一直是我的一个软肋,总是写不好,今天学到一个比较好用的分页插件分享给大家~
依赖:
<pagehelper.version>3.4.2-fix</pagehelper.version>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${pagehelper.version}</version>
</dependency>
分布式架构中依赖写在dao层mapper里,在通用工具类中创建一个分页实体类
public class EUDataGridResult {
private long total;
private List<?> rows;
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
}
在service层实现类中写入如下代码(用mybatis逆向工程生成的pojo和Dao层)
@Override
public EUDataGridResult getItemList(int page, int rows) {
//查询商品列表
TbItemExample example = new TbItemExample();
//分页处理
PageHelper.startPage(page, rows);
List<TbItem> list = itemMapper.selectByExample(example);
//创建一个返回值对象
EUDataGridResult result = new EUDataGridResult();
result.setRows(list);
//取总条数
PageInfo<TbItem> pageInfo = new PageInfo<TbItem>(list);
System.out.println(pageInfo.getTotal());
result.setTotal(pageInfo.getTotal());
return result;
}
controller中
@RequestMapping("/item/list")
@ResponseBody
public EUDataGridResult getItemList(Integer page,Integer rows){
EUDataGridResult result = itemService.getItemList(page, rows);
return result;
就大功告成了!