Mybatis阿里云分页插件-PageHelper使用

使用之前要导入依赖包,这里要注意PageHelper与mybatis版本的兼容性!!!
mybatis版本又要对应mybatis-spring的版本!!!

使用方法:
1.下载PageHelper的jar包,或者直接导入依赖。
<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.1</version>
</dependency>
楼主使用的是阿里云的分页插件(版本无所谓,你也可以选择别的版本),源码都是中文的,有兴趣的可以看看。
   Mybatis版本不能低于3.3,否则返回的PageInfo的所有toString参数都为0和null!!!
mybatis的3.4.0及以上版本只支持mybatis-spring1.3.0及以上版本!!!

附上楼主依赖包:
<!-- mybatis版本 -->
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.4.1</version>
</dependency>
<!-- mybatis-spring版本 -->
<dependency>
 <groupId>org.mybatis</groupId>
 <artifactId>mybatis-spring</artifactId>
 <version>1.3.1</version>
</dependency>


2.在mybatis的配置文件 spring-mybatis 中配置PageHelper插件,因为在spring-mybatis中配置的话
要考虑命名空间的位置问题,楼主初学还不会改,所以直接又写了一个spring-mybatis-PageHelper配置文件
配置示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <!-- 配置分页插件 -->
   <plugins>
       <plugin interceptor="com.github.pagehelper.PageHelper">
           <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->        
           <property name="dialect" value="mysql"/>
       </plugin>
   </plugins>
</configuration>
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
现在配置就完成了,可以直接写代码测试了。


3.dao包和service方法都不变,mapper语句楼主测试用的所以用的最简单的
<select id="listDepts" resultType="Dept">
 select * from department
 </select>
测试代码如下:
@Test
public void testListDepts() {
PageHelper.startPage(1, 3);
List<Dept> list = deptService.listDepts();
PageInfo<Dept> info = new PageInfo<Dept>(list);
}
PageHelper只对紧跟着的第一个SQL语句起作用,也就是service的查询方法。
至此分页就出来了,超级简单,PageInfo是PageHelper包里面封装好的类,很详细。
  具体处理流程,可以看源码,楼主刚开始用这个分页的时候,因为版本不对,一直没有分页数据,找了半天,因为是第一次用,
所以...,后来才想起来会不会是版本的问题,在百度搜了10多个说mybatis的都没有说到版本的兼容问题。所以发这个,希望能给遇到同样问题的一个解决方案。

mysql有limit分页,楼主是自己用limit写完一个分页处理之后,才来用插件的,加深了解。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值