0
点赞
收藏
分享

微信扫一扫

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)


系列文章目录

文章目录

  • 系列文章目录
  • 18-管理员维护-任务清单——管理员维护的思路
  • 19-管理员维护-分页-目标和思路
  • 20-管理员维护-分页-引入PageHelper
  • 21-管理员维护-分页-AdminMapper
  • 22-管理员维护-分页-AdminService
  • 23-管理员维护-分页-AdminHandler
  • 24-管理员维护-分页-页面显示主体数据
  • 造一些测试数据——这样才能测试分页

18-管理员维护-任务清单——管理员维护的思路

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_02


可以先看一下前端页面,打开前端模型页面

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_03


前端页面的数据都是假数据

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_04


查询是模糊查询,并且匹配了各个字段,并且,查询出来的结果仍然是分页显示的

所以

我们的分页应该满足两个需求,即可带条件,也可不带条件

因为用户维护和角色维护基本上是一模一样的,所以我们故意用两种知识来做,这样就技术点都学会了

再回顾一下

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_05


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_06

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_07


其实项目进行了这么久,隐约已经发现了这个规律

那就是

开发风格有两种,一种是同步(比如单纯的表单提交),一种是异步(比如用ajax去提交表单)

我们这里这样定位 管理员维护我们使用同步,角色维护我们使用异步(ajax)

19-管理员维护-分页-目标和思路

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_08


所以其实我们写代码,这二者缺一不可

1、你有没有思路

2、编码的技能到不到位

思路

首先我们要想一下,触发分页的入口有哪些地方

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_09


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_10


查完以后会返回一个List集合

需要注意的是,List是一个接口

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_11


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_12


因为ER表达式访问不了这个pageNum(页码)ER表达式只认实体类,而现在这个即是实体类又是List

所以我们需要继续往下,其实PageHelper也考虑到这个问题了,所以给了我们很多的可能性,我们可以

封装一个PageInfo

所以最终我们返回的时候要返回PageInfo

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_13


所以最终我们的返回是PageInfo,所以这改成PageInfo

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_14


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_15

20-管理员维护-分页-引入PageHelper

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_16


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_17


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_18


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_19


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_20


如果点进去看看

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_21

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_22


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_23


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_24

21-管理员维护-分页-AdminMapper

这里面很多代码是逆向工程自动生成的(逆向工程会自动生成一些常用的比如增删查改的最普通的逻辑代码)

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_25


需要注意的是,目前我们这样写实际上是效率不是特别高的,

一般电商网站不这么写,电商网站是很追求性能的极致性的,

他们一般会用另外一个技术,叫 ElasticSearch(采用倒排索引)

这里只是稍微知道一下,具体的优化以后再说

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_26


然后就可以写service方法了

那么这里我们的service里面这个接口方法是直接复制过去吗,因为涉及到分页,显然不是直接复制了,那么具体怎么做呢

22-管理员维护-分页-AdminService

com.github.pagehelper里面直接就提供了PageInfo implements Serializable

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_27


而我们需要考虑的就是,分页我们要放几个参数进去,具体实现先不管

我们只需要输入 关键字、当前页码、每页显示多少条数据即可

总页码数我们需要管吗,根本不需要,pageHelper这个作者已经考虑很周到了,直接自动会帮我计算好

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_28


面向接口编程:领导只管给你分配任务,后面你怎么干,它就不管了,你只要干好就行了

分布式开发的时候,很多时候都要面向接口编程

好处就是,只要你这个接口不变,实现类你想怎么变就怎么变,别人用你这个接口并不需要改代码

就好比一个USB接口,你可以接1T的移动硬盘,也可以插2T的移动硬盘,接口是没有变化的,你该怎么插还是怎么插

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_29


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_30


做人也是一样,如果完全不干扰他人原有的生活,那就是非常好滴

23-管理员维护-分页-AdminHandler

Handler(controller)层需要解决一个问题,那就是

怎么解决有些参数有 、有些参数没有的问题

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_31


这里想一下,如果这里我们没有使用@RequestParam注解,会出现什么问题呢,自己试试不使用这个注解出现的问题

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_32


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_33


特别注意,不要忘记这个模型参数

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_34


下一步就是看页面上怎么显示这些数据了

24-管理员维护-分页-页面显示主体数据

新建如下jsp

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_35


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_36


注意拷贝的是main标签

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_37


可能不好复制,不知道那块结束的,所以我们可以这样

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_38


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_39


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_40


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_41

假数据只留一条(用来参考),其它的全部删掉

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_42


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_43


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_44


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_45


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_46


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_数据_47


写代码是一件非常严谨的事情,打错一个单词一个空格都不行,下面是我们需要注意的容易出错的地方

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_48

造一些测试数据——这样才能测试分页

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_49


因为目前还没有做好页码功能,所以目前是这样返回第几页的

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_java_50


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_51


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_分页_52

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_53


项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)_List_54


这样就说明没有问题了


举报

相关推荐

0 条评论