MyBatis分页插件PageHelper

MyBatis分页插件PageHelper

如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。

PageHelper

PageHelper是一个Mybatis的分页插件, 负责将已经写好的sql语句, 进行分页加工.

PageHelper的使用

优点无需你自己去封装以及关心sql分页等问题,使用很方便,前端取数据也很方便。
1.引入pagehelper依赖
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2<ersion>
</dependency>
2.配置applicationContext.xml文件
在spring的sqlsessionfactorybean中增加一个分页拦截器属性
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="plugins">
                <array>
                    <bean class="com.github.pagehelper.PageInterceptor">
                        <property name="properties">
                            <value>
                                <!-- 这里设定你的数据库类型 -->
                               helperDialect=mysql
                            </value>
                        </property>
                    </bean>
                </array>
    </property>
</bean>
3.调用PageHelper的方法
在service方法中调用PageHelper的静态方法startPage(注意一定要在实际查询数据库之前调用该方法),传入需要查询的页号和每页大小,返回PageHelper插件提供的PageInfo对象。即可自动完成数据库物理分页,无须在你的sql语句中手工加limit子句

startPage方法

4. PageInfo的结构
关于PageInfo的结构请参看源码,这里通过返回的json来展示。根据需要取PageInfo对象的相应属性即可。

PageInfo的结构

阅读 22.2k

推荐阅读