zoukankan      html  css  js  c++  java
  • 分页

    我以前做过商城项目,项目中有一个小功能,但是很折磨人,那就是分页。

    今天我们就看看分页是怎么写的。

    在我的数据库中有一个user表,在表中插入多条数据。(多查几条,别没分几页就没数据了)。

    这个是我的SSM工程的类分布。可以参考一下。

    做分页之前,我们要创建一个Page类,这个类中写上分页需要的属性。然后实现getter和setter方法。

                

    看一下上面的page类。这个类中,我分别写了五个属性(当前页,每页条数,总页数,总行数,下标 )。

    (1)我们要在currentPage后面附上初始值=1,告诉他我要显示第一页的数据。

    (2)在pageSize后面附上每页要显示的每页显示多少条数据。(我数据有限就写了两条,大家根据自己的需求定义)。

    (3)totalPage是要根据 查询出来的rows的数量,再来进一步计算totalPage的数量。我们在totalPage的getter方法中

    加上计算。

    (4)rows在上面也说了,等会是要从数据库中查出具体的行数(多少条数据)。

    (5)begin,我们要用到下标去数据库中去数据。limit 0,2   【0是指起始行,2是指要查多少条数据】。

      我们来细看一下begin的getter方法中的算法:begin = (currentPage-1)* pageSize     

      currentPage我们设置了一个默认值是1,他就会查出下标为 [ (1-1) *2 }  的(pageSize)条数据。让你点击分页下的其他

      页数(假如点了第5页),前台就会传给controller一个currentPage=5的值, 

      再根据算法 (5-1)* pageSize (按我每页显示的条数2,来计算,就是下标为8的后两条数据)。以此类推

      我已经说的很细了啊,你们要是还不懂就自己在设想几个数,推一推!!!

    这个是我的UserMapper.xml文件中的sql语句。

     

    这个是我的Controller层。里面有注释就不需要我多解释了。

    这个是list.jsp界面,看一下,很容易理解。

    显示出来的页面,当然都是可以点的啊,也能实现想要的效果。 

    我只是简单的告诉大家,分页的逻辑。我写的这个页面也不是很完善。望谅解

  • 相关阅读:
    What is Continuous Integration?
    10 Essential TypeScript Tips And Tricks For Angular Devs
    javascript 的事件绑定和取消事件
    Directive Controller And Link Timing In AngularJS
    做事情的态度——做精做细
    How to simplify a PHP code with the help of the façade pattern?
    Can we say objects have attributes, states and behaviors?
    represent states with objects
    【转】一次是不算数的
    nyoj27-水池数目 (求连通块数目)【dfs】
  • 原文地址:https://www.cnblogs.com/buwang/p/9971055.html
Copyright © 2011-2022 走看看