本文共 1329 字,大约阅读时间需要 4 分钟。
PageHelper主要是一个分页用的插件,通过该插件可以不用在sql中编写较为复杂的分页sql,通过两行代码就可以搞定
PageHelper官网首页:
官网有详细的介绍,以下属于精简版的,拿来即用
首先导入依赖
com.github.pagehelper pagehelper 5.2.0
然后在MyBatis配置文件中插件
-->
reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。
继续在spring中配置
pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
helperDialect:是用来选择数据库,目前支持Oracle,Mysql等等
最后写代码,前端往后端传参数要加上currentPage,pageSize
写到service层和controller层都可以,看你如何转换了
public List <表名> getList(Integer currentPage,Integer pageSize){ PageHelper.startPage(currentPage,pageSize); // 下面这段代码应该都知道吧,用来获取表中的数据,参数就不用传到sql中了,非常的方便 List <表名> list = 表名Mapper.getList(); // list会到 插入PageInfo中,充当一个参数 PageInfo <表名> pageList = new PageInfo<>(list); return list;} 表名> 表名> 表名>
注意! 代码的位置要一致.上面是PageHelper,中间是通过数据库获取到的数据,最后是PageInfo
前端页面我用的Element UI
return { list: [], pageSize: '', currentPage: '' }
返回给前端的参数
常见的一个问题:list插入到PageInfo后,找不到列list中的参数,只能看到分页插件的参数。解决方法:前端获取列表中的数据时再深入一层,比如:this.list = data.data.list
在尽力写的很详细,让萌新也能一看就懂,我也是从那时候过来的,非常理解这种感受。
写的总有疏漏,有问题,欢迎私聊! 欢迎补缺! 欢迎批评!
转载地址:http://zxprn.baihongyu.com/