首页 > 代码库 > mybatis的分页插件使用方法

mybatis的分页插件使用方法

1.下载所需要的jar包,如果使用maven可以在maven中添加依赖;

插件的实现原理:

技术分享

如果你想使用本项目的jar包而不是直接引入类,你可以在这里下载各个版本的jar包(点击Download下的jar即可下载)

由于使用了sql解析工具,你还需要下载这个文件(这个文件完全独立,不依赖其他):

<dependency>

    <groupId>com.github.pagehelper</groupId>

    <artifactId>pagehelper</artifactId>

    <version>3.4.2</version>

</dependency>

 

<dependency>

    <groupId>com.github.jsqlparser</groupId>

    <artifactId>jsqlparser</artifactId>

    <version>0.9.1</version>

</dependency>

2、在mybatis的SqlMapConfig.xml中配置拦截器插件

<plugins>

    <!-- com.github.pagehelper为PageHelper类所在包名 -->

    <plugin interceptor="com.github.pagehelper.PageHelper">

        <property name="dialect" value="http://www.mamicode.com/mysql"/>

</pulgin>

</plugins>

3、在执行查询的sql语句钱加一句话:

PageHelper.startPage(page,rows);

page是查询的哪一页,rows是该页显示的记录条数。

4、取出查询的总记录数

利用PageInfo类。

PageInfo<> pageInfo=new PageInfo<>(list);

这里的list是通过数据库查询出来的结果集,在PageInfo中封装,通过pageInfo.getTotal()获取总的记录数量。

其中分页插件总共5个java类:

分页插件项目中的正式代码一共有个5个Java文件,这5个文件的说明如下:

  • Page<E>[必须]:分页参数类,该类继承ArrayList,虽然分页查询返回的结果实际类型是Page<E>,但是可以完全不出现所有的代码中,可以直接当成List使用。返回值不建议使用Page,建议仍然用List。如果需要用到分页信息,使用下面的PageInfo类对List进行包装即可。
  • PageHelper[必须]:分页插件拦截器类,对Mybatis的拦截在这个类中实现。
  • PageInfo[可选]:Page<E>的包装类,包含了全面的分页属性信息。
  • SqlParser[可选]:提供高效的count查询sql。主要是智能替换原sql语句为count(*),去除不带参数的order by语句。需要jsqlparser-0.9.1.jar支持。
  • SqlUtil[必须]:分页插件工具类,分页插件逻辑类,分页插件的主要实现方法都在这个类中。

 

mybatis的分页插件使用方法