分页查询问题

提问 13 1912
biggun
biggun 2019-01-16
版本:renren-security 开发环境:
img[//cdn.renren.io/a5d78201901161414454643.png]
回帖
  • 使用的是PageHelper插件,查看下PageHelper插件帮助文档,哪里使用不当造成的吧
    0 回复
  • biggun
    biggun (楼主)
    2019-01-16
    在哪看呀
    0 回复
  • @biggun https://pagehelper.github.io/
    0 回复
  • biggun
    biggun (楼主)
    2019-01-16
    PageHelper.startPage(Integer.valueOf(params.get("page").toString()), Integer.valueOf(params.get("limit").toString())); //PageHelper.orderBy(OrderByVo.defaultOrderField+" "+OrderByVo.defaultOrderWay); List<XmlStreamInfo> streamInfos = AnalysisXml.getXmlStreamInfoList(); PageResult pageResult = PageResultUtil.getPageResult(streamInfos); return R.ok().put("page", pageResult); 我之前这种用法都没问题啊
    0 回复
  • biggun
    biggun (楼主)
    2019-01-16
    我简化一下service的方法就是: PageHelper.startPage(1,10); List<XmlStreamInfo> streamInfos = AnalysisXml.getXmlStreamInfoList(); PageResult pageResult = PageResultUtil.getPageResult(streamInfos); return R.ok().put("page", pageResult);
    0 回复
  • biggun
    biggun (楼主)
    2019-01-16
    @Mark 我简化一下service的方法就是: PageHelper.startPage(1,10); List<XmlStreamInfo> streamInfos = AnalysisXml.getXmlStreamInfoList(); PageResult pageResult = PageResultUtil.getPageResult(streamInfos); return R.ok().put("page", pageResult);
    0 回复
  • @biggun 用mybatis-plus的分页插件吧,系统默认也是用的这个,挺好用的
    0 回复
  • biggun
    biggun (楼主)
    2019-01-16
    @Mark 我也想用mybatis-plus的分页插件,但是我要的数据不是查数据库的,是解析xml文件得到的数据。
    0 回复
  • biggun
    biggun (楼主)
    2019-01-17
    @Mark 我明白你框架的pageHelper的问题原因了,springboot启动类里面没有配置SqlSessionFactory的bean,并且没有将pageHelper插件添加进去。
    0 回复
  • @biggun 因为我们没有使用pageHelper,也就不存在有相关的配置
    0 回复
  • biggun
    biggun (楼主)
    2019-01-17
    @Mark 该怎么加呀?我要读这些数据,并进行分页展示。 <streamInfo> <flussonicPubIp>36.110.193.38</flussonicPubIp> <flussonicLocalIp>192.168.20.97</flussonicLocalIp> <flussonicPort>8080</flussonicPort> <flussonicUserName>flussonic</flussonicUserName> <flussonicPassword>letmein!</flussonicPassword> </streamInfo> <streamInfo> <flussonicPubIp>36.110.193.38</flussonicPubIp> <flussonicLocalIp>192.168.20.98</flussonicLocalIp> <flussonicPort>8080</flussonicPort> <flussonicUserName>flussonic</flussonicUserName> <flussonicPassword>letmein!</flussonicPassword> </streamInfo> <streamInfo> <flussonicPubIp>36.110.193.38</flussonicPubIp> <flussonicLocalIp>192.168.20.98</flussonicLocalIp> <flussonicPort>8080</flussonicPort> <flussonicUserName>flussonic</flussonicUserName> <flussonicPassword>letmein!</flussonicPassword> </streamInfo> ..........
    0 回复
  • biggun
    biggun (楼主)
    2019-01-17
    @Mark 只能手动写个对list的分页工具类了
    0 回复
  • biggun
    biggun (楼主)
    2019-01-17
    @Mark package com.telesound.common.utils; import java.util.List; /** * 手动对list结果集的分页实体类。 */ public class Page { private Integer currentPage;//当前页。 private int pageSize;//每页显示记录条数 private int totalPage;//总页数。 private int totalRecords;//总记录数。 private List<?> dataList;//每页显示的数据 private int star;//开始数据 public Page() { } /** * 手动处理分页方法。 * @param currentPage * @param pageSize * @param list * @return */ public static Page dealPageMethod(int currentPage,int pageSize,List<?> list){ Page page = new Page(); page.setCurrentPage(currentPage); page.setPageSize(pageSize); page.setStar((page.getCurrentPage() - 1) * page.getPageSize()); int count = list.size(); page.setTotalRecords(count); page.setTotalPage(count % page.getPageSize() == 0 ? count / page.getPageSize() : count / page.getPageSize() + 1); page.setDataList(list.subList(page.getStar(),count-page.getStar()>page.getPageSize()?page.getStar()+page.getPageSize():count)); return page; } public Integer getCurrentPage() { return currentPage; } public void setCurrentPage(Integer currentPage) { this.currentPage = currentPage; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getTotalRecords() { return totalRecords; } public void setTotalRecords(int totalRecords) { this.totalRecords = totalRecords; } public List<?> getDataList() { return dataList; } public void setDataList(List<?> dataList) { this.dataList = dataList; } public int getStar() { return star; } public void setStar(int star) { this.star = star; } }
    0 回复