• 分页


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

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

    在我的数据库中有一个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界面,看一下,很容易理解。

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

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

  • 相关阅读:
    /dev/tty /dev/ttyS0 /dev/tty0区别
    标准Makefile模板
    Linux Gcc常用命令
    使用mutt+msmtp在Linux命令行界面下发邮件
    DirSync: List of attributes that are synced by the Azure Active Directory Sync Tool
    批量硬关联本地AD帐号与Office云端帐号
    Linux下LDAPSearch的例子
    Powershell连接Office 365各组件的方法
    Shell下的正则表达式 (鸟哥私房菜)
    MySQL数据库管理常用命令
  • 原文地址:https://www.cnblogs.com/buwang/p/9971055.html
Copyright © 2020-2023  润新知