pageHelper在ssm框架和springboot中的使用(附项目源码)

PageHelper的使用

(源码在gitee,网址https://gitee.com/liu-zhiyong/ssm-security.git)

一.功能:分页

二.原理

执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,即需要和mybatis配合使用。

三.在ssm中使用方法

1.引入jar包,在pom.xml中添加如下依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

2. 配置拦截器插件

在 Spring 配置文件中配置拦截器插件

使用 spring 的属性配置方式,可以使用 plugins 属性像下面这样配置:

        <property name="plugins">
            <array>
                <!-- 传入插件的对象 -->
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <props>
                            <prop key="helperDialect">mysql</prop>   //数据库类型
                            <prop key="reasonable">true</prop>       //分页合理化
                        </props>
                    </property>
                </bean>
            </array>
        </property>

3.PageHelper.startPage 静态方法调用

在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

使用PageInfo的用法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);

controller使用:

输入图片说明

四.在springboot中使用方法

1.引入jar包,在pom.xml中添加如下依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>版本</version>
</dependency>

2.添加配置

(1)aplication.yml添加配置

pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true

·helper-dialect:

配置使用哪种数据库语言,不配置的话pageHelper也会自动检测

·reasonable:

配置分页参数合理化功能,默认是false。 #启用合理化时,如果pageNum<1会查询第一页,如果pageNum>总页数会查询最后一页; #禁用合理化时,如果pageNum<1或pageNum>总页数会返回空数据。

(2)application.properties添加配置

这些属性可以不加,依然可以实现分页功能

#pagehelper分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

3.PageHelper.startPage 静态方法调用

使用PageInfo的用法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);

五.pageInfo使用时的jsp页面

第几页:

输入图片说明

每页几条数据:

输入图片说明

每页几条数据函数:

输入图片说明

posted @ 2020-11-09 21:51  zhiYong'blog  阅读(150)  评论(0)    收藏  举报