mybatis分页插件 ---- PageHelper

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:
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

猜你喜欢

转载自blog.csdn.net/qq_38637558/article/details/81188390