Mybatis的pagehelper分页插件配置及使用

Mybatis的pagehelper分页配置及使用

当数据量较大时,前端页面查询显示就需要用到分页,一般我们都会使用Mysql的Limit,不过使用起来还是有成本的,这里就说一下pagehelper插件如何使用

1、导入依赖

<!--mybatis分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.0.4</version>
        </dependency>

也可以在pagehelper.jar. 这个链接里下载最新的jar包

2、添加配置

在配置文件中添加配置,默认名称是.properties,我这里配置文件叫做spring-config.xml

<!-- 2:配置SqlSessionFactory对象, 作用:生成预编译SQL-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 扫描sql配置文件 -->
        <property name="mapperLocations" value="classpath:mappers/*.xml"/>
        <!--分页相关配置-->
        <property name="typeAliasesPackage" value="com.vehicleDetection.entity"/>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <value>
                            <!--dialect=mysql-->
                            reasonable=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

3、在业务中使用

使用的时候,只需要在Controller控制层和Service、ServiceImpl里实现,参数为page和rows。
下面是我在代码中的实现,可以参考一下:

Controller

默认

Service层

在这里插入图片描述

ServiceImpl

在这里插入图片描述

说明:

1、page:当前第几页 。 rows:每页多少条数据

2、PageHelper分页和Mapper.xml完全解耦,实现方式是以插件的形式,对Mybatis执行的流程进行了强化,添加了总数count和limit查询。属于物理分页。

3、Page page = PageHelper.startPage(pageNum, pageSize, true); - true表示需要统计总数,这样会多进行一次请求select count(0); 省略掉true参数只返回分页数据。

看图猜人物(七),欢迎评论
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44082075/article/details/106537796