maven:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.2.1</version>
</dependency>
spring-dao.xml:
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
<!-- dialect:标识是哪一种数据库,设计上必须。 -->
dialect=mysql
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<!--reasonable=true-->
</value>
</property>
</bean>
ShipTableMapper.xml:
<select id="getTest" resultType="ShipTable">
SELECT <include refid="Base_Column_List"/>
FROM ship_table
</select>
ShipTableMapper:
List<ShipTable> getTest();
ShipTableService:
PageInfo getTest(Integer page, Integer limit);
ShipTableServiceImpl:
@Override
public PageInfo getTest(Integer pager, Integer limit) {
// 配置分页条件,pager: 页码,limit: 每页显示几条
PageHelper.startPage(pager, limit);
List<ShipTable> ShipTableList = shipTableMapper.getTest();
// PageInfo 里面封装了很多我们需要以及不需要的数据,直接将我们查询的结果传入
PageInfo pageInfo = new PageInfo(ShipTableList);
return pageInfo;
}
PageInfo:
ShipTableCitroller:
@RequestMapping(value = "/shipPage", method = RequestMethod.GET)
@ResponseBody
public PageInfo page(@RequestParam(value = "page" ,required = false) Integer page,
@RequestParam(value = "limit" ,required = false) Integer limit) {
PageInfo pageInfo = shipTableService.getTest(page, limit);
return pageInfo;
}
返回的json数据:
{
"pageNum": 1,
"pageSize": 7,
"size": 7,
"orderBy": null,
"startRow": 0,
"endRow": 6,
"total": 7,
"pages": 1,
"list": [
{
"shipId": 1,
"shipName": "img/1.png",
"shipNameTitle": "****有限公司",
"shipTime": "2008-07-19"
},
{
"shipId": 2,
"shipName": "img/12.png",
"shipNameTitle": "****有限公司",
"shipTime": "2008-07-19"
},
{
"shipId": 3,
"shipName": "img/111.png",
"shipNameTitle": "****有限公司",
"shipTime": "2008-07-19"
},
{
"shipId": 4,
"shipName": "img/222.png",
"shipNameTitle": "****有限公司",
"shipTime": "2008-07-19"
},
{
"shipId": 5,
"shipName": "img/333.png",
"shipNameTitle": "****有限公司",
"shipTime": "2008-07-19"
},
{
"shipId": 7,
"shipName": "img/123.png",
"shipNameTitle": null,
"shipTime": "2008-07-19"
},
{
"shipId": 8,
"shipName": "img/321.png",
"shipNameTitle": null,
"shipTime": "2008-07-19"
}
],
"prePage": 0,
"nextPage": 0,
"isFirstPage": true,
"isLastPage": true,
"hasPreviousPage": false,
"hasNextPage": false,
"navigatePages": 8,
"navigatepageNums": [
1
],
"navigateFirstPage": 1,
"navigateLastPage": 1,
"lastPage": 1,
"firstPage": 1
}
需要注意的地方:PageHelper基于AOP