page分页竟然这么写,被经理看到了一脸惊讶

简介: page分页竟然这么写,被经理看到了一脸惊讶

以下code就不一一解释了,看不懂的伙伴留言咨询,文末给一个总页数计算的页面

VO:

public class PageBean<T> {
      // 1.当前页数 从页面获取
      private int currentPage;
      // 2.每页显示数据个数,赋初值或者setter获取
      private int currentCount;
      // 3.总条数,从数据库获取
      private int totalRecord;
      // 4.总页数,计算得到
      private int totalPage;
      // 5.每页的显示数据,数据库得到
      List<T> list = new ArrayList<>();
        //getter/setter  
}
public class SearchRequest {
  private Integer From;
  private Integer pageSize;
  // .....其他查询条件
  private String id;
  private String beginTime;
  private String endTime;
    //getter/setter
}

Servicice:

public PageBean<User> getRecord(SearchRequest searchRequest, PageBean<User> pageBean)throws Exception;

ServiceImpl:

  public PageBean<User> getRecord(SearchRequest searchRequest,PageBean<User> pageBean) throws Exception{
        //当前页面,数据库进行分页的方法searchrequest加入from 和to
        int currentPage=pageBean.getCurrentPage();  
        //页面的显示个数
        int currentCount=pageBean.getCurrentCount();
        //根据页面算出数据库查询的起始位置
        int from=currentCount*(currentPage-1);
        //获取的数据个数
        int pageSize=currentCount;
        pageBean.setTotalRecord((int) dao.findForObject("Mapper.findCount",null));
        //计算总页数公式//总记录数除以每页数据条数+总记录数取余每页数据条数大于o,结果为1.不大于结果为0;
        int total=pageBean.getTotalRecord()/currentCount+(pageBean.getTotalRecord()%currentCount>0?1:0); 
        pageBean.setTotalPage(total);
        //将查询范围在查询条件里
        searchRequest.setFrom(from);
        searchRequest.setPageSize(pageSize);
        //根据以上条件返回目的对象
        List<User> userList;
    try {
      userList = (List<User>) dao.findForList("Mapper.getRepairRecord", searchRequest);
      pageBean.setList(userList);
    } catch (Exception e) {
      e.printStackTrace();
      return null;
    }
        return pageBean;
  }

Mapper:

<!-- 查询表总条数 -->
  <select id="findCount" resultType="Integer">
    select COUNT(id) as id from
    <include refid="tableName"></include>
  </select>
//查询分页数据
<select id="getRepairRecord" resultMap="ResultMap"
    parameterType="SearchRequest">
    select
    <include refid="Field"></include>
    from
    <include refid="tableName"></include>
    where
      ms_id = #{id}
      <if test="beginTime!=null and beginTime!=''">
        AND produce_time &gt;=#{beginTime}
      </if>
      <if test="endTime!=null and endTime!=''">
        AND produce_time &lt;=#{endTime}
      </if>
    ORDER BY time DESC
    <if test="From!=null  and pageSize!=null">
      LIMIT #{From},#{pageSize}
    </if>
  </select>

Controller:

public JSONObject productDataList(String productData,String pageBeanJson) throws Exception {
    //其他字段赋值/.......
    /.......
    PageBean<User> userList = Service.getRecord(searchRequest,pageBean);
    /.............
}

@@sql计算总页数

目录
相关文章
|
7月前
|
消息中间件 算法 NoSQL
二十不惑的年纪,我简直走了狗屎运(4面拿字节跳动offer)
二十岁的年纪,青春张扬,无拘无束,这种状态自然是好事,不过在某种意义上,也并不能太过乐观。实际上,许多二十岁左右的年轻人,容易陷入误区,把无所事事当成自然状态,太过随意的生活容易让我们没有明确的人生目标和真实的人生理想,以至于毕业之后找不到工作,回家啃老,然后还要悻悻地安慰自己“谁的青春不迷茫”?
|
SQL 存储 监控
程序员新人频繁使用count(*),被组长批评后怒怼:性能并不拉垮!
程序员新人频繁使用count(*),被组长批评后怒怼:性能并不拉垮!
|
JavaScript 前端开发 小程序
程序员过中秋的一百种方式#
程序员过中秋的正确方式:团圆、赏月、还是惨兮兮地加班? 赏月 明月几时有,把酒问青天
214 0
程序员过中秋的一百种方式#
|
机器学习/深度学习 前端开发 小程序
想当程序员,如何判断自己是否适合当前端程序员?
真正学习的时候,大多数所谓的兴趣就是扯淡; 只有那种遇到难题就兴奋,敲代码时候,越挫越勇的人,才叫感兴趣; 真正的感兴趣是让你学的久,学的不累;
180 0
|
前端开发
前端工作总结213-实现分页秀呀
前端工作总结213-实现分页秀呀
87 0
前端工作总结213-实现分页秀呀
|
程序员
2020年7月程序员工资新鲜出炉,看看你在哪个位置
2020年7月程序员工资新鲜出炉,看看你在哪个位置
112 0
2020年7月程序员工资新鲜出炉,看看你在哪个位置
为啥HR不理你?怎样去争取面试机会呢!
为啥HR不理你?怎样去争取面试机会呢!
1379 0
为啥HR不理你?怎样去争取面试机会呢!
|
人工智能 算法 搜索推荐
程序员,90 后程序员想要“年薪百万”,那么你最好走这一条路
  这一条路其实就是:算法工程师   互联网火爆,算法行业也一样火爆,动辄年薪30万以上比比皆是,优秀的算法工程师年薪百万不是梦。以至于让无数人开始学习算法知识,无论自学还是参加培训班,都想要转行到算法行业。   尽管如此,算法工程师仍然面临100万的人才缺口。缺人、急需,算法工程师成为众多企业猎头争抢的对象。   计算机的终极是人工智能,而人工智能的核心是算法,算法已经渗透到了包括互联网、商业、金融业、航空、军事等各个社会领域。可以说,算法正在改变着这个世界。   @程序员,90 后程序员想要“年薪百万”,那么你最好走这一条路
196 0
|
设计模式 Oracle 架构师
你还有什么问题要问我吗?没有了-- 含泪收集校招面试HR题库,教你如何不尴尬的提问
你还有什么问题要问我吗?没有了-- 含泪收集校招面试HR题库,教你如何不尴尬的提问
162 0
|
前端开发 程序员 Linux
10年程序员怒斥:只会八股文没用,公司招你来是做项目的,不是背题的……
前段时间跟一个老同事去出项目,我请他喝咖啡。闲聊之间得知他已经在这行干了十年并且在北京成家买房,我肃然起敬,啪!的一下就站起来了。同事摆摆手示意我坐下说话,收手的时候顺带摸了两下稀疏的头发,满是自豪。
510 0