00:00
路径的问题我们已经解决完了,那么接下来我们要解决的是我们页面的数据问题了,之前啊,我们已经可以跳转页面了,但是呢,这些数据还是固定写时的,那不行。我们需要从数据库当中把我们的数据查出来,然后展示在页面当中,然后呢,我们还要分页显示,因为如果用户量大的情况下,你不可能说一页显示很多的数据,那太不方便了啊,而且看也不方便。所以啊,在这种情况下,我们要分页查询。所以在这里我们来看一看。首先。我们跳转页面的时候,我们现在需要分页查询,然后呢,查询完以后将结果展示在我们页面当中就可以了,所以分页查询,那你分页查询的话,你是全查吗?你不是,那你不是的话,你应该有一个范围,那这个范围应该是计算出来的,所以啊,在我们分页查询的时候,我们一般会有两个参数需要传过来,一个叫page number,一个叫page size。
01:13
啊,一个是页码,我查第几页我都知道,还有一个每页显示多少条数据我们也得知道,所以这两个参数我们要传过来啊好,那你要传过来的话,那接下来我们就准备啊,把数据稍微的什么呢变一变,因为我们在使用分页查询的时候,我们采用的是。买circle的limit语法,那个limit语法呀,它这里会需要两个参数。这两个参数什么意思呢?第一个参数它述的是起始位置,我们叫start,那么第二个参数呢?它表述的是每页显示多少条,其实就是size。啊,所以这两个参数如果你能明白什么意思,那就好办了。第二个参数是每页显示多少条,我们这里恰恰是对的,可是我们这是不对的,因为你这里传的是页码,而我这里呢,是一个起始的位置,它们不是一回事,那不是一回事的话,你得把这个值给它计算出来,所以在这里我们这样写,我们叫map啊,我把参数呢,封装成一个集合,叫new哈希map。
02:24
好了,写完了以后,我写上咱们叫string object,嗯。然后在这里我们写上string,我们叫object好了,写完以后把咱们的参数给它封装进去,咱们就叫map.put然后写上叫start,表述的是我的参数,接下来是要计算它了,记住我们有一个小的规则,那么这个规则呢,就是计算我们的起位置呢,我叫page number减一乘以page size啊,这样的话就把起始位置得到了,那好再来我们还有一个map.put然后写上我们叫size啊,这个呢,就是那个page size啊,行,那我们当中的参数我们已经有了,我就可以开始正式的去分页查询了,所以我们前面啊,其实已经准备了service和door,那我这里呢,直接去关联,我叫private。
03:23
然后我们叫做user service service好写完之后自动装配,装配完成以后,在我下面的这个位置,我就可以写上了user service点我们叫分页查询,我们就叫page query就可以了啊,那么查询什么呢?查询我们的数据啊,叫page query date啊那行,那我就把那个map给它传过去,因为map中就是我的参数。那好,我们这么去写,写完之后,那你返回的应该是我的数据啊,所以我们写上叫list,叫U,好,我们加个S,那么假设我们现在已经正确的得到了查询的结果,应该是多条数据形成了一个集合,但是你需要把这个集合传给页面,并且要展现出来,那我们这里就得把这个数据保存一下,保存到哪去呢?保存到我们请求范围当中,因为我们这里是转发的方式,保存到请求范围是没有问题的,所以model。
04:33
好了,写完之后,那么在我们这里就可以直接来了model,点我们增加,我们就叫users,行了,写上我们的user。诶诶不对,加个S啊好可以了,那接下来就把这个方法给它实现了吧,所以来我们点击create创建方法,然后我们再来增加它的实现,打开点击。
05:00
然后增加,增加完成之后,那么我们的user door,点我们page quary date,嗯,可以了,把那个map给它传过来,嗯,行,那接下来我们点击小灯泡,我们来点击create,嗯,行了,那接下来我们就要把我们S文给它写上了,不过这个蛇口文呢,我们就不放在这个注解当中完成了,我们增加我们的蛇口映射文件。那么我们在哪增加这个文件呢?我们来看在我们之前的配置文件当中,我们曾经可以扫描我们的map,就是那个道,那么扫描的规则非常的简单,就是说我们去扫描这个倒接口就可以了,可是到接口它对应的S映射文件我们放在哪呢?诶,我们上面有这么一段配置map,这个map跟这正好是对应上的,那么这边是接口,这边就是映射文件了,映射文件的位置他就告诉你了,Pass星冒号,MY斜杠,Map横线星点。
06:08
也就意味着呀,他就告诉你,你只要把映射文件放在class pass下面就可以了,那我们当前的manager项目当中,这个resource不也是class pass吗?所以啊,我们放到这里其实是可以的,来点击new创建文件夹,我们叫MYBY啊,点击完成。这里面有个关键的点是这个星号,这个星号表述的是所有的克拉帕。如果你不加星号,它指的是什么位置呢?它指的是我们当前这个web项目,它的那个class pass,而我们的manager它就读不到,但是你加了个星以后,那么所有的地方它都能够读到,所以我们这它是可以读到的啊好,接下来我们把那个映射文件给他加上,这个映射文件我们这里会有相应的操作啊,咱们直接来拷贝。
07:03
拷贝以后名称可不要起错了,所以点击new,我们创建文件叫map,加个横线就叫U,点叉L就可以了,好回车我们给它保存,保存以后我们这就是映射文件中的标签,但是你要千万注意它的命名空间要跟接口匹配上,所以我们把它拷贝过来。拷贝过来以后,我们放到这个位置。然后点我们叫U到这就可以了,命名空间已经有了,有了之后我要增加我们的查询了。括号select ID,这个ID应该跟接口当中的方法名称保持一致,所以在我们这里直接写上它就可以。接下来还有一个属性叫type,它表示的是你将查询结果转换成什么样的类型,我们想转换的不就是U嘛,所以拷贝好,拷贝之后我们放到这个位置。
08:06
可以了,接下来我们要分页查询,那么查询的是用户的信息,来吧,Select我们的星from p下划线,然后我们这里啊,没有别的条件,你全查就行了,所以我们直接写上,然后写上问号,逗号问号。但是我们说了,买白体当中你是不能直接写问号的,我们应该用号大括号来代替它,所以井号大括号代替它,你代替它的话,大括号里面写什么呢?取决于你这个方法传递的类型,你传递的是不是个map类型,你如果是个map的话,那么大括号里面应该是那个key的名称,我们就叫。还有一个我们叫。你这么写完以后,只要不出现任何的错误,我们的数据就可以查询出来,那你查询出来以后,那么我们这里返回的结果就没有问题了啊好,我们保存一下,保存之后回到我们的controller当中来,我们的controller,那我这样的话保存到我们的model里面,然后跳转页面,那你跳转页面的时候,那我要把页面找到了,页面在我们的这个位置打开,那我就需要把传过来的数据给它循环便利,但是我们说JSP当中,我们现在已经不推荐使用Java程序,Java代码了,所以说我们要想循环的话,我们得用标签了,这里写上间括号,百分号圈A。
09:41
叫,然后有一个X,有个C,再加上一个U,就是我们的核心标签C标签。好,那这么写完以后,那我现在准备把后台的数据给它循环便利,那么循环便利的时候,其实就是对我们每一个用户信息给它循环遍历,那么我们这里的数据啊比较多,我先把一部分给它去掉。
10:10
我不要了,好,那我不要了之后呢,我接下来我就要把每一行给它循环遍利,那好吧,来吧,我们这里写上间括号C冒号我们的for each,然后那么你对哪一个集合循环便利呢?A,然后写上我们就叫users就可以了,那么循环的时候,我把每一个循环的对象用一个变量保存起来,就叫U,诶可以了,接下来把TR给它放进去,因为你有多少个用户,你就应该有多少行数据,所以给它放到这个位置啊,然后缩进一下。好写完之后,那我现在啊,准备把数据呢,我们看一看,首先我们这里是个井号,它表述的是个数字,就是我们的顺序号第几条,那这个我们该如何来拿到呢。
11:04
跟大家解释一下,我们在当前循环的时候,它还有一个属性叫VAR,表述的是当前的循环的状态,那么这个状态我们可以用一个变量保存起来,叫status,那么这个变量它里面就存储了当前的循环的索引以及它对应的计数器。那第几条不就是个计数器吗?所以我们就可以用EL表达式,我们这么写,咱们叫status,点我们叫count,这个count是他事先已经声明好的计数器,我们这么写就够了,还有下面,下面的这是个复选框,不看了,那这是账号,登录账号,那我这里呢,就应该来我写上叫u.log in account,这是我们的登录账号,下面是我们用户的名称,所以我来我写上Dollar符,然后呢,User,点我们的user name,这是我们用户的名称,而下面呢,是我们的邮箱地址,有这个咱们好像没有,没有没关系,给他加一下,然后呢,我们点击新增,增加一个叫email。
12:16
啊,邮箱地址给他加上就可以了,然后呢,我们这边呢,就可以随便写点东西了啊张三诶test.com就可以了啊哎呀,但是我们数据好像有点少吧,咱们多加几个吧,也别整的太少了,来张三李四,然后呢,我们这写个李四,然后我们再写李四啊李四,然后呢,我们圈test.com可以了啊嗯,张三李四王五吧,再来一个王五啊来王五王五啊来A王五。好,王五test.com行,简单三个就基本差不多了啊行,接下来我们再来往下看,那我邮箱地址可就有了,所以Dollar符我们来啊,U点我们的一没有行了,那你这么写完以后,我们只要不出现任何的问题,我们的数据就应该能够展现出来。
我来说两句