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界面,看一下,很容易理解。

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

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

  • 相关阅读:
    Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize
    fnd_profile.value的用法
    FND_MESSAGE 消息提示详解
    FORM触发器执行顺序
    大数据实战精英+架构师班 ④ 期
    .Net Core3.0 WebApi 十五:使用Serilog替换掉Log4j
    .Net Core3.0 WebApi 十四:基于AOP的切面redis缓存
    .Net Core3.0 WebApi 十三:自定义返回Json大小写格式
    .Net Core3.0 WebApi 十二:自定义全局消息返回过滤中间件
    .Net Core3.0 WebApi 十一:基于Log4j的全局异常处理
  • 原文地址:https://www.cnblogs.com/buwang/p/9971055.html
Copyright © 2011-2022 走看看