00:00
装分页。封装分页对象啊。提高分析效率啊,提高分页查询编程效率是编程效率啊,不是提高程序的执行效率。提高三页。严惩效力啊,就是以后分页的话就不用搞那么麻烦了啊,咱们来看一看,松松从这边打开哪个是分页这个啊,那这个分页咱们一起看一看,这个东西能不能,可不可以考虑给它封装一下,你看啊,有哪些东西可以封装到一个对象里边。那比如说你现在吧,在这个位置上啊B嘛,是吧,你来一个类,这个类叫什么来着,叫配置呗,是吧,配置吧finish啊这就是那个分页对象,以后呢,面向分页对象开发啊,这是分页对象。
01:05
封装了分页信息啊,封装了分页查询相关信息,有什么有页码呀是吧?嗯,每页显示的什么记录条数啊是吧,有总页数等吧,很多你就封装进去。那么你想一想,应该把什么数据封进去啊?分number呗,你看啊,为什么要封装,你看啊,你不封装,你在这边你你你存一个例子的,又存这个这个那个这个那个的,存了一大堆,在跳,跳过去之后,你在这个JSD页面,你这又取这个又取那个的,所以你能不能把这个东西给我封装到那个对象里边,我只要把那个对象放到request里边,跳一下到JSD里边,我再把那个对象取出来,一面向对象调钙的方法把你取出来。明明白我的意思吧,你这你这编程这个太面向过程了,一点面向对象的感觉都没有是吧,所以你封装成对象,你把对象从那request的范围再跳,那不更好吗。
02:07
另外你看一看咱们咱这个这个这个这个这个这个业务词口语句跟分页思口语句之间有关系的,你只要提供一个业务思口,我是不是就可以肯定是可以拿到这个分页词口语句的,所这是通用的啊,这就没必要把这这写了,来写写写写半天是吧,你这写一下,你以后只要写这个啊,这个词口语句句就自动就生成了。所以这个你得考虑。所以大家看看吧,这块应该给给什么东西啊。应该给哪些属性啊?嗯。就最起码给给给这些吧,啊,比如说像那个page number呀,是吧,啊page size这个呢,我就用那个叫什么吧,啊我就用inte吧,Inte可能会稍微好一些,In类型的话,它不能出空值对吧,这个东西呢,咱们就写个inte啊写个inte来咱们这边呢,再来一个还有什么呀,你你就你就说吧,啊这块还有那个叫page count吧啊还有那个叫什么,哎,对了啊,偷偷什么size是吧,还有吗?
03:18
呃,这这这是什么,这叫这叫页码是吧?页码当前第几页啊,前第几页,那么这个页码完事之后呢,下边是每页啊,就是每页显示的记录条数,接下来在下边这边是这是什么?这是总页数吧,啊这是总条数吧。还有啥呀?行了,咱们生成几个get方法,行了,来生成get方法啊,So,生成get方法不是get啊,Get get将来是不是读取啊。
04:06
你肯定得要get方法读取这个数据啊,Get方法get page number,一个get page side。是吧,然后get什get photo side。这都需要盖的。让大家看一看。呃,这个get page number呢,我们往外读的话,首先它必须得有值,对吧?所以我们可以提供一个构造方法。是不是可以提供一个构造方法呀,在构造这个分页对象的时候,给他传个页码吧,这样的话这个属性是不是就有值了,所以这个时候怎么写啊。提供一个构造函数啊,构造方法配将来在这呢,你给我传一个什么page number,你只要把这个配number传过来,我就把这个page number付给这个number,那这样的话,将来调这个get number的时候,这个是不是有值道,那怎么写这个。构造分页对象啊,这是一个什么呢?这是一个页码是吧?判断一下if,如果p number就是不等于now。
05:14
怎么办呀?啊,His number,谁呀?This number是吧,等于什么?Passing his number穿过来是吧?它不等于now,再写的严格一些吧,啊,Page number,点啊点啊,要是不等于。也不用不用这样啊,不用这样直接写它要是不等于呢。咱们就附上值,Else的话,咱们就给this.page number估个什么值,这样行吗?就先这么写了啊,这个如果不建筑,咱们到时候再改吧,就先这么着,先写简单点啊,配number不等于空,尤其这个东西。
06:00
这的啊,说这个不等于空的啊,它要是不等于空的话,我就给它变成数字啊,不给它啊嗯,如果它要是嗯其他情况下等于空的话,就直接配置上数等于几啊,等于一行了啊,那这样的话,这个钙的分数是不是可以获取这个页码了,钙的配置塞子。这个配置size的话。咱们是不是可以考虑在这给他写上去啊?行吧,将来的话,其实这个呢,可以考虑再放到一些什么配置文件中是吧,可以修改,咱们不管了啊,就现在先放三,放三的话我就在这给它赋值的,在这能给它赋值吗?不是不是配放啊配size吧啊等三啊给附上去。这边附上去了,这个配size有了吧,这是不是也有吧,这个有了吧,这个附上值呢,加了get配size是不是就可以拿到这个值了?哎,这个total size怎么办呀。就这个有值了,这个也有值了,这个俩都能获取了,因为都有get的方法了,还有一个问题,这个配置com呢,还有个问题,这个total size呢?这个to size是不是必须得连数据库,连完数据库之后,查询组计的条数是不是给它属性赋值啊,附上值之后,我们你在下边调这个GA的配钙的特度在是不是才有值,所以应不应该对外提供在的方法。
07:15
这个set方法只能set谁呀set特,你给他提供个set特,其他先不要提供。是吧,三三。啊,这个这个啊,必须程序员将来调这个方法才能给它附上值。因为程序员需要连数据库查询,总计个条数,查出来之后呢,给它附上值,然后这个属性有了值才能调这个方法吧,行了,那这样的话,这个是不是也搞定了,这个photo赛是不是也搞定了,那配抗怎么办呀?盖的配置,看看直接怎么怎么做就行了。实际上就是偷呗,是吧,你偷偷塞干什么?对谁呀,是不是配size求余吧,等于等于零怎么办呀,是吧?其他情况怎么办?这就这么写吧啊如果这个等于零的话,咱们就直接干什么了,除呗啊所以除了啊,其他情况的话,咱们就除完加一啊除完再加一,这大家能看懂了,好,那你看是不是都就有值了,那这个还用这个属性吗?是不是删掉就行了。
08:18
是不是不用这个属性了,能删吗?啊,不能删。用了用了有用吗。这个please是never read吗?用功的下边。这个就获取了,这就这就是总页数啊,你看这个风状很有意思啊。删了没了。这个得有吧,一定要给它赋值的是吧,给它赋值的。我们在这给它赋个值三,然后将来了怎么拿?
09:03
等在这个构造方法的时候,给它赋个值,将来调盖的方法拿,将来这个当中是是必须要提供下的方法的,需要给它赋值的,赋完值之后呢,我们再给他拿啊这么拿,所以呢,这个东西不是说你属性写完都提供S代理方法的,再来吧,还有什么。能不能再提供一个方法?或者说他应该再加一个属性嘛,这里边是不是有个例子的集合。是吧,所以我们把历史的机构放进去啊来。这里面存什么?存U了吧?啊,但是你不能这么写啊。你要这么写肯定不行,因为你这个分页是通用的吧,啊,你既然分页是通用的,那你在这用它,你写个user,这是啥意思啊,对吧,你有可能还是企业呢,Enterprise对吧,有可能还是投资人呢。对吧,所以这块的话,你就写个半人就行了啊来对吧,能这么写就行了啊。
10:01
将来呢,你调用这个构造函数的时候呢,给他传一个类型,你这传一个U的时候,它这就是什么。U,你这传一个什么其他的类型,这就是一样的,因为这是T嘛,是吧,这个别多想啊,这个是随便写的,愿意怎么写怎么写,但是呢,你写完之后一定要把它放到这儿啊,他俩保证一致就行了。啊,它俩保证一致就可以了,但是呢,这块你要注意啊,你最好写个T,因为T是type type单词表示类型,明白吧,这是它的类型。那为什么你看那个集合里边,集合里边好像有个东西,你看它的范型用的什么呀,E呀,为什么是E呀,Element呀。元素嘛是吧,所以这个泛型你得会啊,用一下好了,那这样的话,这个例子的集合能给它赋值吗?这个用题目赛的方法吗。这边写上啊,这是存储数据的。List集合好,那么接下来在构造方法执行的时候,能不能把这个又一个list行不行?
11:04
来这边呢,写上六。这大家能看懂吧。你这样不是list的及格,你各个方法执行是不是可以给它赋值啊,你附上值之后,将来你这个应不应该提供一个get方法,这个点右键S,你生成这个get就行了,不用get啊,用set去掉就是get吗?来OK,那这样的话它就有了,那在哪呢?升到哪了这了吧。这啊,来咱们给它放到后边,这就是那个历史的集合嘛,是吧,那再封装吧,咱们还有什么需要封装啊,词口语句吧,你看这个词语句,咱们是不是可以把这个词口语句拿过来啊,所以这个时候咱们提供一个方法吧,来在这提供一个方法啊,A public返回词string叫get circle,你只要给我提供一个circle口L语句,我就可以给你返回一个circle口L语句,明白我的意思吧,返回的circle口L语句,好,这边是获取通用的分页S口L语句,能理解吧,这个参数是什么思吧,业务词返回什么呀,分页最后吧,好,那这个怎么返回啊,这个那直接复制吧,这有啊,是这个吧,整体啊,CTRLCCTRLV就行了,嗯。
12:22
这就搞定了,这就是封装。你只要把思后L语句拿过来,我听听听,听完之后返回就行了。能看懂吗?行这就完了啊,这样的话,这个分页就算结束了,结束之后你这个类怎么改啊。还用写这么多东西吗?页码还用这样吗?不用了,不用这样了,这个不用了,这个不用了,这个都不用了,这个不用了,都不用了,直接扭谁啊。你用这个吧,这这这多方便呀,你看还用其他的,你想你构造方法一扭的时候,你想一想构造方法一执行。
13:07
啊对,这里需要一个参数是吧,点get me叫number吧,拿过来这个有没有可能等于空啊,有可能啊等于空的话,这是第第几页啊第一页啊,这是创建什么对象,这是创建分页对象,你看啊,分页对象一旦创建,你想底层哪几个属性有值了。这个有没有值,有了这个有了值了,这个这个这个对例子是不是也有值了,就剩那个偷菜的是不是没有值了,剩下都有值了啊,你下面的一系列方法都是掉盖的就行了。一路盖了下去就行了,来,再往下这个词后语句准备好之后怎么办啊?这个分页词汇语句很简单,怎么写啊?这块的话就直接调我们的配置分页对象里面有个方法叫get circle嘛,这个时候你把circle拿过来,哪个circle啊,这个你只要把这个circle剪了,剪了之后再放到这就行了,这个就删了。
14:00
是不是没有用了?你sol语句拿过来,我就可以得到一个思语句了,是吧,你S语句拿过来,来删掉,你看这边的拿结果集,你这个例子的集合得换一换的配置点get date list,你拿到那个list的集合再添加,你添加试是把这用户对象放到list色集合里边,但是你放的是谁,放到是分页对象的什么这个list色集合中。是吧,这就行了,来,那么继续查询总记录条数,总记录条数的话,这边呢,咱们把这个词后语句写了,写了之后咱们这边来直接赋值吧,怎么负啊,查询总记录配置点s total s总记录条数等于什么?是上面那个吧,减了放进去就行了啊就可以了。啊,什么总页数根本不用过去,这都不用过去了,删了啊,那这边是什么什么存折,这都不用存了啊,都不用存了,直接存一个就行了啊第2SET存一个什么这就行了,这就是风能。
15:00
你把上面这个配置存进去。你看这以后这多轻松啊,还是这分页那这这写那个那的不用了。就直接谬一个用完构造方法执行所有属性都有值了,只有一个属性没有值,总记录条数,这个时候你呢,就应该在这个地方查询总记录条数,给它附一个值。是吧,你一旦附上值,你相信把这个配置存进去了,你的对象也存到这个配置历史的集合里边,就跳到GP就行了。你不用做其他事吧,不用做其他事了啊,就这样就封装了,以后的话,咱们就留这么一个分页对象,就用它就行了,好了,我们有了它之后呢,接下来我们跳到了啊,跳哪了。是不是跳了web system到哪呢?build.dt吧,你看好了,都变了,这边不能这样直接过去了。得怎么写?Page request一个方法叫get attribute是吧,由于你在上面你get了一个什么page是吧,所以我在这盖的什么page就行了吧,来我拿page,拿一个什么Yoga来叫page,好,这么写肯定有问题吧,来写上这边我写上这个有了吧,这个上面应该倒了啊,咱们就加这个就行了,这么写肯定有问题。
16:18
大家一定要记住,JSP有九大内置对象。其中有一个内置对象的名字叫什么?配置吧,所以你这个局部变量的名字和那个人家那个名字是不是不能重啊,所以你加个OB勾吧,啊行了这就行了啊这边怎么办呀,你还获取什么呀,你就不用获取了,这个历史的及合不用获取是吧?这个也删掉,这个也删掉,这个全删了,这个全删了,这都不能这么过去了,你有对象了是吧?对象有了之后呢,叫方法什么方法呀,Get get list对吧?来这个是什么?Get page count来这个是什么?就是get什么photo盖吧,这边呢啊加上去这get配size吧,这样拿过来啊,那下边的话你就直接get可number你你下边变量还比较重啊,就这样就可以了,这都就行了,哎,都删了,这都删了,这就可以了,你拿对象,对象拿到之后一路调盖的方法,这一切东西都有了。
17:24
都是从对象里边获取的。能理解吧,啊,这就改完了。这大家没什么疑问吧,自己封装了啊,这个东西慢慢来了,其实你第一次封装肯定会感觉很疑惑啊。那这个东西set的方法什么时候提供,Get的方法什么时候提供,搞得清楚。啊,一路把赛盖全提供上去了。啊,不该提供的属性也提供了。所以这个东西呢,你看一看啊,咱们去封工,封装完之后,咱们一起来看看行不行啊,你只要懂原理就行了啊,下一周呢,把这个东西根据原理把它做一做就行了,来把东西起一个。好了,这边呢,咱们启动之后啊,这个清空掉啊,然后我们在这边打开浏览器,我们来访问一下啊。
18:07
访问一下好嘞,点登录点这个点这个。好了。是吧,走三确定。啊,走山确定。是吧,这都能删呀,不能删是没事啊,删了来再选中是吧,修改啊写上改上保存改了吗。来再来点正修改啊,改了改了,改完之后新增啊,写上来写上。嗯,这不有了吗?是吧,选中删除删了。行吧,这个分页的话还是可以的啊,没问题。啊,这边也没问题吧,共一条记录吧,第一页嘛,是吧,一共一页吧,每页是显示几条啊,三条记录啊。
19:10
行,这就是这个封装啊,这个封装就完了,好进行下一个版本了啊。这就是封装分页对象,提高分页编程效率。咱先捋捋啊,以后咱们写分页的时候,只需要写什么,什么不用写。第一件事,你有对象。对吧,第二件事就是获取什么。思索语句。第三件事就是把数据封装完之后放到什么例子的集合中,第四件事就是关联一个总基础条数没了,只需要四步啊,第一步创对象,第二步获取分页思考语句,第三步存储历史的集合中的数据,第四步关联总进度条数,把它存进去跳就可以了。是吧,好了啊,这个故骤的话,你就记住面向对象的开发啊,采用这种方式开发就行了,也不要再去面向细节了啊,面向过程了,面向对象就整体的对象,要知道这个泛型啊,这个简单了解一下,象其实你将来用的时候,这传什么啊,它就是个什么类型了,大家想下,如果如果不用泛型会有什么不好的地方啊,你不用泛型,你历史的这个在在调钙的方法的时候,大家看一看调钙的方法,钙的方法,你看如果不用泛型,它返回的是什么类,是什么类型啊object。
20:29
你如果反馈object会有会有什么不好的呀。是不是你要做调调一些方法,你是不是还得做强制类型转换呀,比较麻烦啊,如果你用范星的话,你相信在例子的及合里边,你说存一个U,那我相信这个U呢,放到那个T那个地方之后呢,你会发现下边这个get的方法的时候,这个获取的一定省略型了,UR掉get直接掉就行了,不用做强转嘛,比较方便啊,所以泛起这个东西还是用一下的啊。
我来说两句