分页器maven坐标:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
定义Mybatis查询接口:
@Mapper
public interface GoodsDao {
//查询所有商品
@Select("select * from goods")
List<Goods> selectAllGoods();
}
配置分页器
@Configuration
public class WebConfiguration{
@Bean
public PageHelper pageHelper()
{
PageHelper pageHelper=new PageHelper();
Properties properties=new Properties();
properties.setProperty("offsetAsPageNum","true");
properties.setProperty("rowBoundsWithCount","true");
properties.setProperty("reasonable","true");
pageHelper.setProperties(properties);
return pageHelper;
}
}
使用分页器:
PageHelper.startPage(<当前页码>,<每页显示多少记录>);
@RunWith(SpringRunner.class)
@SpringBootTest
public class AppTest
{
@Resource
ProductRepository repository;
@Resource
GoodsDao goodsDao;
@Test
public void testPage()
{
PageHelper.startPage(1,3);
List<Goods> goodsList=goodsDao.selectAllGoods();
PageInfo<Goods> pageInfo=new PageInfo<>(goodsList);
System.out.println("当前页:"+pageInfo.getPageNum());
System.out.println("每页显示多少条记录:"+pageInfo.getPageSize());
System.out.println("总共多少页:"+pageInfo.getPages());
System.out.println("页码数组:"+Arrays.toString(pageInfo.getNavigatepageNums()));
System.out.println("这一页的数据:");
pageInfo.getList().forEach(e -> {System.out.println(e);});
}
}