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写完一个分页处理之后,才来用插件的,加深了解。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于使用 MyBatis 分页插件 PageHelper,可以参考以下步骤: 1. 在项目的 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> ``` 2. 在 MyBatis 配置文件中配置 PageHelper 插件: ```xml <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!--数据库类型,mybatis会根据不同的数据库使用不同的分页策略--> <property name="helperDialect" value="mysql"/> <!--参数映射,不设置该参数时使用默认值--> <property name="reasonable" value="true"/> </plugin> </plugins> ``` 3. 在代码中使用 PageHelper.startPage 方法设置分页查询: ```java // pageNum:当前页码,pageSize:每页显示条数 PageHelper.startPage(pageNum, pageSize); // 调用 MyBatis 的查询方法,会自动实现分页 List<User> userList = userDao.queryUsers(); ``` 4. 在页面中显示分页信息和查询结果: ```html <!-- pageInfo 是 PageHelper 返回的分页信息 --> <nav> <ul class="pagination"> <li><a href="${pageInfo.prePage}">上一页</a></li> <li><a href="${pageInfo.nextPage}">下一页</a></li> </ul> </nav> <!-- userList 是上述查询返回的结果 --> <table> <thead> <tr> <th>编号</th> <th>用户名</th> <th>邮箱</th> <th>手机号码</th> </tr> </thead> <tbody> <c:forEach items="${userList}" var="user"> <tr> <td>${user.id}</td> <td>${user.username}</td> <td>${user.email}</td> <td>${user.mobile}</td> </tr> </c:forEach> </tbody> </table> ``` 希望这份简单的使用说明能够帮到你,如果有其它问题,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值