mybatis数据分页PageHelper接口的实现操作

mybatis数据分页PageHelper接口的实现操作

第一步

在pom.xml中引入依赖,如下:

<!-- 分页插件 -->
 <dependency>
       <groupId>com.github.pagehelper</groupId>
       <artifactId>pagehelper</artifactId>
       <version>5.1.10</version>
   </dependency>
   <dependency>
       <groupId>com.github.jsqlparser</groupId>
       <artifactId>jsqlparser</artifactId>
       <version>2.0</version>
   </dependency>

第二步

在mybatis全剧配置mybatis-config.xml文件中配置,如下:

<!-- 插件配置 -->
    <plugins>
        <plugin interceptor="com.jeeplus.core.persistence.interceptor.PaginationInterceptor" />
        <!-- pagehelper的配置-->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <property name="dialect" value="mysql"></property>
            <!-- 该参数默认为false -->
            <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
            <!-- 和startPage中的pageNum效果一样-->
            <property name="offsetAsPageNum" value="true"></property>
            <!-- 该参数默认为false -->
            <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
            <property name="rowBoundsWithCount" value="true"></property>
            <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
            <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
            <property name="pageSizeZero" value="false"></property>
            <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
            <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
            <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
            <property name="reasonable" value="false"></property>
        </plugin>
    </plugins>

第三步

在Controller层写分页代码,如下:

 /*
    * 分页查询所有用户信息
    * */
    @GetMapping("/select")
    @ResponseBody
    public Page<RouUser> select(@RequestParam(defaultValue = "1") int pageNum,@RequestParam(defaultValue = "5") int pageSize){
        PageHelper.startPage(pageNum,pageSize);
        List<RouUser> rouList = rouUserService.selectrou();
        PageInfo<RouUser> rouPage= new PageInfo<>(rouList);
        return rouPage;


    }

@RequestParam(defaultValue = “1”) int pageNum,@RequestParam(defaultValue = “5”) int pageSize)的意思是默认从第一条数据开始显示,每页展示5条数据,之后可以由传过来的整数型pageNum,pageSize来确定
rouUserService.selectrou()调Service层的查询方法。

你可能感兴趣的:(分页查询,mybatis)