• 目录

    引入介绍

    回顾MySQL的limit实现简易分页

    问题的产生与解决

    分页插件实现步骤

    实例演示

    分页插件相关参数

    实例演示


  • 引入介绍

  • 分页可以将很多条结果进行分页显示
  • 如果当前在第一页,则没有上一页
  • 如果当前在最后一页,则没有下一页
  • 需要明确当前是第几页,这一页中显示多少条结果
  • 回顾MySQL的limit实现简易分页

  • 可以用limit进行
  • 而limit是mysql数据库特有的,其他数据库中没有
  • 问题的产生与解决

  • 在企业级开发中,分页也是一种常见的技术
  • 而目前使用的Mybatis是不带分页功能的
  • 如果想实现分页的功能,需要我们手动编写limit语句
  • 但是不同的数据库实现分页的SQL语句也是不同的
  • 所以手写分页成本较高,这个时候就可以借助分页插件来帮助我们实现分页功能
  • PageHelper
  • 第三方分页助手,将复杂的分页操作进行封装,从而让分页功能变得非常简单
  • 分页插件实现步骤

  • 1.导入jar包
  • 2.在核心配置文件中集成分页助手插件
  • 3.在测试类中使用分页助手相关API实现分页功能
  • 实例演示

  • <!--集成分页助手插件--><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"/></plugins>
  • @Testpublic void selectplugin() throws Exception{//1.加载核心配置文件InputStream is = Resources.getResourceAsStream("MybatisConfig.xml");//2.获取SqlSession工厂对象SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//3.通过工厂对象获取SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession(true);//4.获取StudentMapper接口的实现类对象StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);//第一页,显示1条数据//PageHelper.startPage(1,1);//第二页,显示1条数据PageHelper.startPage(2,1);List<Student> list = mapper.selectAll();for(Student student : list){System.out.println(student);}sqlSession.close();is.close();}
  • 分页插件相关参数

  • PageInfo
  • 封装分页相关参数的功能类
  • 核心方法
  • getTotal()
  • 获取总条数
  • 返回值:long
  • getPages()
  • 获取总页数
  • 返回值:int
  • getPageNum()
  • 获取当前页
  • 返回值:int
  • getPageSize()
  • 获取每页显示条数
  • 返回值:int
  • getPrePage()
  • 获取上一页
  • 返回值:int
  • getNextPage()
  • 获取下一页
  • 返回值:int
  • isIsFirstPage()
  • 获取是否是第一页
  • 返回值:boolean
  • isIsLastPage()
  • 获取是否是最后一页
  • 返回值:boolean
  • 实例演示

  • @Testpublic void selectplugin() throws Exception{//1.加载核心配置文件InputStream is = Resources.getResourceAsStream("MybatisConfig.xml");//2.获取SqlSession工厂对象SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//3.通过工厂对象获取SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession(true);//4.获取StudentMapper接口的实现类对象StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);//第一页,显示1条数据//PageHelper.startPage(1,1);//第二页,显示1条数据PageHelper.startPage(2,1);List<Student> list = mapper.selectAll();for(Student student : list){System.out.println(student);}//获取分页相关参数PageInfo<Student> info = new PageInfo<>(list);System.out.println("总条数:"+info.getTotal());System.out.println("总页数:"+info.getPages());System.out.println("当前页:"+info.getPageNum());System.out.println("每页显示条数:"+info.getPageSize());System.out.println("上一页:"+info.getPrePage());System.out.println("下一页:"+info.getNextPage());System.out.println("是否是第一页:"+info.isIsFirstPage());System.out.println("是否是最后一页:"+info.isIsLastPage());sqlSession.close();is.close();}

Mybatis-分页插件相关推荐

  1. springboot整合mybatis分页插件

    1.springboot版本为2.0.1,数据库为mysql,引入pagehelper的pom依赖 <!--mybatis分页插件--> <dependency><gro ...

  2. 解决使用mybatis分页插件PageHelper的一个报错问题

    解决使用mybatis分页插件PageHelper的一个报错问题 参考文章: (1)解决使用mybatis分页插件PageHelper的一个报错问题 (2)https://www.cnblogs.co ...

  3. MyBatis分页插件PageHelper使用练习

    转载自:http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown 1.环境准备: 分页插件p ...

  4. MyBatis学习总结(17)——Mybatis分页插件PageHelper

    2019独角兽企业重金招聘Python工程师标准>>> 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊 ...

  5. (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示

    http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...

  6. Mybatis:Mybatis分页插件

    文章目录 1. Mybatis分页插件 1.1 分页插件介绍 1.2 分页插件的使用 1.3 分页插件的参数获取 1.4 分页插件知识小结 分页助手相关 API 1. Mybatis分页插件 1.1 ...

  7. 使用abel533大神的mybatis分页插件总结

    今天使用了abel533大神的mybatis分页插件,遇到了写问题,特意在这里做个总结,方便以后查找. 首先该测试是在本人的ssm基础框架上实现的,有兴趣的可以先看看本人的博客置顶帖.高手就略过吧. ...

  8. Mybatis分页插件MybatisHelper的使用

    Mybatis分页插件MybatisHelper的使用 MybatisHelper是Mybatis的一个数据分页插件,是国内的一个牛人""刘增辉""所写,功能强 ...

  9. Mybatis分页插件PageHelper使用教程(图文详细版)

    Mybatis分页插件PageHelper使用教程(图文详细版) 1.配置 2.后台代码 controller类 html页面 html页面效果图 1.配置 小编的项目是springBoot项目,所以 ...

  10. mybatis分页插件的使用以及报错解决

    一.mybatis分页插件的前提配置 添加依赖 <dependency><groupId>com.github.pagehelper</groupId><ar ...

最新文章

  1. 项目中使用Quartz集群分享--转载
  2. 【实用】SAP修改记录表开发
  3. python 中set集合类型(去重、成员运算)
  4. 可以操作excel吗_Excel快速填充,这四种方法你会吗?操作逆天告别加班
  5. 运维与节能:数据中心绿色运维技术研讨会召开
  6. 联想童夫尧:细分市场将是PC未来新增长点
  7. 通过定制控制在屏幕上显示图片
  8. word2vec原理CBOW与Skip-Gram模型基础
  9. xml中的if和截取字符串
  10. Firday分布式家庭理财系统开发文档(原创作者)
  11. github等网站访问不稳定的几种改善办法
  12. 百度热力图颜色说明_最新黑科技!看完东莞的城市热力图,你就知道该在哪里买房了!...
  13. [Android]判断滑动是向左还是向右?
  14. 第二天就能练起来的技能:真北直播回顾,及KOL讲师、海报设计师招募
  15. html网页的无缝拼接,2、图形化的网页-)图形的无缝拼接
  16. 天津理工大学计算机项目管理实验四,天津理工大学计算机专业数据库实验二.doc...
  17. C练题笔记之:Leetcode-780. 到达终点
  18. 安卓强制恢复出厂_怎样科学合理地下载、卸载APP?恢复出厂设置存在哪些问题?...
  19. 天正服务器修改,修改天正网络版服务器地址
  20. 打开计算机查找很久,打开“计算机”很慢要加载很久才能出来盘符,是什么原因,上周用电脑还好好的...

热门文章

  1. dockr 配置文件修改_怎么修改docker容器里的配置文件
  2. NeuroImage:功能磁共振成像中自发、短暂脑网络相互作用的行为相关性
  3. sudo: gedit:找不到命令
  4. Java实现模糊搜索
  5. 有关区块链的一些理解
  6. 多个pdf怎么合并成一个pdf?教您几招快速合并的方法!
  7. 吃鸡游戏对服务器性能,《绝地求生》国服用超性能服务器,网络全互联
  8. 第六章 面向对象编程基础总结
  9. 注意力机制详解系列(三):空间注意力机制
  10. 鸿蒙OS尝新版,华为鸿蒙系统最新版-华为鸿蒙系统os2.0官方版-华为harmonyos公测-游人手游网...