mybatis分页插件PageHelper的使用

一、PageHelper插件的简介

PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。

二、PageHelper使用

1、导入jar包

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

2、在mybatis的配置文件中配置PageHelper

在mybatis中配置分页插件

    <!-- 配置mybatis的分页插件 -->
    <plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!-- 指定分页插件使用oracle方言 -->
            <property name="helperDialect" value="oracle"/>
            <!-- 分页合理化参数,默认值为false -->
            <property name="reasonable" value="true"/>
        </plugin>
    </plugins>

在 Spring 配置文件中配置分页插件

    <!-- 把SqlSessionFactory交给IOC管理 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!-- 传入PageHelper的插件 -->
        <property name="plugins">
            <array>
                <!-- 传入插件的对象 -->
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <props>
                            <prop key="helperDialect">oracle</prop>
                            <prop key="reasonable">true</prop>
                        </props>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

3、使用PageHelper完成分页

3.1、直接通过RowBounds参数完成分页查询 。

    //参数pageNum 是页码值,参数pageSize 代表是每页显示条数
    RowBounds rowBounds = new RowBounds(page, pageSize);
    return ordersDao.findAll(rowBounds);

3.2、使用PageHelper.startPage()静态方法完成分页。

    //参数pageNum 是页码值   参数pageSize 代表是每页显示条数
    PageHelper.startPage(page, size);
    return ordersDao.findAll();

三、PageHelper分页插件参数详解

1、helperDialect

指定分页插件使用哪种方言,如:oracle , mysql , sqlite ,db2 , sqlserver等数据库。

注意:使用 SqlServer2012 数据库时,需要手动指定为 sqlserver2012 ,否则会使用 SqlServer2005 的方式进行分页。

2、reasonable

分页合理化参数,默认值为false 。当该参数设置为 true 时, pageNum<=0 时会查询第一页, pageNum>pages (超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。

3、params

为了支持startPage(Object params) 方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable ,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值