Mybatis分页插件
流楚丶格念 人气:01. Mybatis分页插件
1.1 分页插件介绍
- 分页可以将很多条结果进行分页显示。
- 如果当前在第一页,则没有上一页。如果当前在最后一页,则没有下一页。
- 需要明确当前是第几页,这一页中显示多少条结果。
- MyBatis分页插件总结
在企业级开发中,分页也是一种常见的技术。而目前使用的 MyBatis 是不带分页功能的,如果想实现分页的 功能,需要我们手动编写 LIMIT 语句。但是不同的数据库实现分页的 SQL 语句也是不同的,所以手写分页 成本较高。这个时候就可以借助分页插件来帮助我们实现分页功能。
PageHelper:第三方分页助手。将复杂的分页操作进行封装,从而让分页功能变得非常简单。
1.2 分页插件的使用
MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据
开发步骤:
①导入与PageHelper的jar包
②在mybatis核心配置文件中配置PageHelper插件
<!-- 注意:分页助手的插件 配置在通用mapper之前 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 指定方言 --> <property name="dialect" value="mysql"/> </plugin>
③测试分页数据获取
@Test public void testPageHelper(){ //设置分页参数 PageHelper.startPage(1,2); List<User> select = userMapper2.select(null); for(User user : select){ System.out.println(user); } }
1.3 分页插件的参数获取
获得分页相关的其他参数:
//其他分页的数据 PageInfo<User> pageInfo = new PageInfo<User>(select); System.out.println("总条数:"+pageInfo.getTotal()); System.out.println("总页数:"+pageInfo.getPages()); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("每页显示长度:"+pageInfo.getPageSize()); System.out.println("是否第一页:"+pageInfo.isIsFirstPage()); System.out.println("是否最后一页:"+pageInfo.isIsLastPage());
运行结果:
1.4 分页插件知识小结
分页:可以将很多条结果进行分页显示。
- 分页插件 jar 包: pagehelper-5.1.10.jar jsqlparser-3.1.jar
<plugins>
:集成插件标签。
分页助手相关 API
PageHelper分页助手功能类
函数 | 说明 |
---|---|
startPage() | 设置分页参数 |
PageInfo | 分页相关参数功能类。 |
getTotal() | 获取总条数 |
getPages() | 获取总页数 |
getPageNum() | 获取当前页 |
getPageSize() | 获取每页显示条数 |
getPrePage() | 获取上一页 |
getNextPage() | 获取下一页 |
isIsFirstPage() | 获取是否是第一页 |
isIsLastPage() | 获取是否是最后一页 |
加载全部内容