mybatis分页插件PageHelper的使用方法

在数据库中经常用到了分页的功能,原来的查询,要自己写一个 select count(*)然后再写一个limit m,n非常的麻烦。而且不同的数据库采用的分页方式还不一样,在mysql中用limit在其他的数据库比如Oracle中又不能用了。
新的插件 PageHelper非常的方便,他不影响原来的代码,直接插入即可。下面给出PageHelper的用法

1.maven项目:在pom.xml中导入依赖

<!--mybatis分页插件的使用-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.0.2</version>
        </dependency>

如果不是maven项目,可以直接下载jar包
pageHelper5.1.2.jar
2. 在mybatis中配置,也有两种选择,可以写在mybaitis的配置文件中,也可以写在spring的配置文件中
mybatis配置文件:直接在文件中加入一下代码 要注意标签的顺序,在mybatis中标签是有先后顺序的 我的配置文件中只有别名,把该代码放在后面

<!--别名-->
    <typeAliases>
        <package name="com.hd.entity"></package>
        <package name="com.hd.queryvo"></package>
    </typeAliases>
    <!--插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
        </plugin>
    </plugins>
  1. 接下来就可以使用了。只要在你需要分页的位置前输入代码
//开启分页  currentPage 当前页  pageSize 每页显示的数量
    PageHelper.startPage(currentPage,pageSize);
    List<Product> products = 
    productMapper.selectByCategoryIdOrKeywords(productQueryVo);
//分页数据的基本信息 
//在pageInfo中封装了 一下属性
/*
 //当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;
    //排序
    private String orderBy;
    //总记录数
    private long total;
    //总页数
    private int pages;
    //结果集
    private List<T> list;
    //由于startRow和endRow不常用,这里说个具体的用法
    //可以在页面中"显示startRow到endRow 共size条数据"

    //当前页面第一个元素在数据库中的行号
    private int startRow;
    //当前页面最后一个元素在数据库中的行号
    private int endRow;


    //第一页
    private int firstPage;
    //前一页
    private int prePage;
    //下一页
    private int nextPage;
    //最后一页
    private int lastPage;

    //是否为第一页
    private boolean isFirstPage = false;
    //是否为最后一页
    private boolean isLastPage = false;
    //是否有前一页
    private boolean hasPreviousPage = false;
    //是否有下一页
    private boolean hasNextPage = false;
    //导航页码数
    private int navigatePages;
    //所有导航页号
    private int[] navigatepageNums;
*/
    PageInfo<Product>pageInfo = new PageInfo<>(productList);

猜你喜欢

转载自blog.csdn.net/caoPengFlying/article/details/81239255