zoukankan      html  css  js  c++  java
  • PageHelper的使用方法

    Mybatis分页组件Mybatis-PageHelper使用流程

    只需要两步即可:
    1.添加依赖

    <!--PageHelper-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.0.3</version>
    </dependency>
    

    2.在 MyBatis的配置文件mybatis-config.xml中配置拦截器插件

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

    3.使用方法

    在sevice层重新定义方法

    public List<TdUserDto> findByPage(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<TdUser> tdUserList = userMapper.selectByExample(new TdUserExample());
        return mapperFacade.mapAsList(tdUserList, TdUserDto.class);
    }
    

    PageHelper.startPage(1, 10);//可以获取第一页的10条信息

    只要你可以保证在 PageHelper 方法调用后紧跟 MyBatis 查询方法,这就是安全的。因为 PageHelper 在 finally 代码段中自动清除了 ThreadLocal 存储的对象。也就是说由PageHelper创建的那一页信息需要被吃掉。不然下次线程调用就会出问题。

  • 相关阅读:
    javascript 变量定义
    javascript之String
    javascript之object
    javascript之Number
    javascript之window对象
    javascript全局对象
    【NOIP2017】【Luogu3951】小凯的疑惑
    【NOIP2008】【Luogu1149】火柴棒等式
    【NOIP2008】【Luogu1125】笨小猴
    【NOIP2005】【Luogu1051】谁拿了最多奖学金
  • 原文地址:https://www.cnblogs.com/bihanghang/p/10141597.html
Copyright © 2011-2022 走看看