00:00
好了啊,来把这个复制一下贴过来啊,咱把这个改一下好了。嗯。咱们点这个啊,给他路径取一下。来把它复制一下好了,来OK,把这个部署一下听一下走来这边的。啊啊来接过来删除OK了啊,这个熟悉一下来,嗯,好了,OK,这边呢,咱们关了它,呃,大家呢,如果要是不关这个其他的项目呢,可能会出什么问题呢?比如说你调试的时候啊,你价格断点发现跑到其他项目里边了啊有这种情况存在,所以呢,我一般呢。都给它关了啊,我说一下啊,其实大家在下边做的话,就没必要分什么版本了。我这是为了讲课方便,所以呢,我分了版本。
01:00
所以呢,你在下面做的时候,你就一个就行了,你老创造创建那么多版本干什么呀,没有用,另外还有一件事啊,如果你想在这个项目上写你所有的功能的话,你一定要写个read文件。啊,你完成了什么功能,在这记录一下啊,我是怕什么呢,你写着写着就一个项目,没有分版本,不知道写哪呢。所以这个时候你最好记录一下啊,我我我我今天啊做了哪些哪些功能,但是你不用写什么123啊这个版本号啊,没必要写了,你就写一个。行吧,写个日志啊放进去好了,那咱们这个看一看啊,把这个服务器挤一下。洗一下之后呢,咱们来看一下这个。功能啊,来这边呢,我把这个打开。呃,这边呢,我看一下啊,一个是完成了,一个叫新增是吧,新增做了啊,新增做了之后呢啊,新增做了咱们得做一个分页查询。
02:04
啊,今天讲分页查询,你看这就比较难了,这个东西啊,咱们以前没有接触过吧,没有接触过今天的这个分页查询,就是这是第一次接触这个啊,在前五天的时候还没讲过这个东西,行了,那咱们来看一看吧,一起看一下分线查询,首先这个分线查询应该从哪入手呢?首先呢,我们再重新打开啊,你看是从哪就开始分线查询了。来登录这个,你点这个的时候啊,当你点这个时候就已经分页查询了,并且我可以确保这一定显示第几页了,这是第一页了,这是不是肯定是第一页呀,这是第一页。所以说你们入入点在哪啊。从哪开始写呀,就是有同学老师上课我能听明白,下来之后我入手点,不知道从哪入手。那这种情况太多了啊,怎么个情况,那就是可能就是自己呢,还没有把这个吃透啊,或者敲敲代码比较少。
03:04
像这种东东西呢,你从哪入手,那你点哪就在哪呗,你点的是哪啊,你点的用户管理啊,那咱们这个鼠标这个这个这个这个这个这个这个这个鼠标呢,停到这。停到这之后呢,这这就是个下划线嘛,一看就超链接嘛,这不是是吧,所以这个时候你点右键啊,啊,或者说有同学老师我不知道用户管理在哪,那你在这个空白地方点右键啊,一点右键的话你就知道了啊,这个页面它叫left。叫。那这边的话,你看一看这个东西啊,来选中它,或者是不选也行啊,在这个超链接上点右键啊,你看一看,那是这样的。这是个超链接吧,这个链到哪了?它它链到了一个页面啊,这个页面叫system user。它实际上也就是说,你只要是点一点,它就会发送这个请求,他一发送这个请求呢,我们就到这儿了。是这意思吧,啊就到这了,你点它是吧,就到这了,来这边呢,我们刷新一下。
04:07
这样吧,抄点回车得了。来再点一下,点这个。来,你点它,嗯。是吧?那这样的话就肯定是在这儿的啊,入手点在这个位置上,那这样的话咱们找一找这个啊在那里边行了,这边一起看一下啊。在web下边有一个system。啊,不是这个。应该是这个是吧,好来。打开啊,接下来呢,咱们看一看吧,啊,从这边找一找,不是找那个东西吗。那打开的啊,找的话,其实你没必要这么找啊,这不是几个字吗?发链接你复制一下是吧,你CTRLF呗。这个工具你要会用啊,查找CTRLV吧,是这个吧,找吧啊找。那你就找到了。
05:04
这个用户管理,你看我只要。我只要点这个超链接,你看它是不是超链接啊,这这不A吗?啊这是A嘛是吧,你看这有个click是吧。On click,然后后边呢,有一个h ref吧,啊,还有个他带的I2啥意思。大家不觉得奇怪吗?为什么在这个位置点最后呢,却没有在这个窗口里边显示,却在这个窗口里边显示,这是为什么呢?嗯,为什么你你你你你看我我现在不是点这个,我一点你看看在这显示了,它这它一般我们点超链接是不是在哪在哪点在哪显示啊,那这个这个不一样,这个你看你看我把这个改一改啊。
06:05
我改了吧,刷了啊来刷一下。刷一下啊,来回车。是好了,在这点来点啊。嗯嗯,跑这儿了。是吧,所以这个东西还是有用的呀,这东西我写个二啊,写个I2之后呢,它就变成变成这样了,来我再回车,来我再刷新一下啊,来我再点它点过来了。这是为什么呀?怎怎么怎么实现的呢?这个如果变成下划线啊,这是什么呀啊。点它,点它。嗯嗯。新窗口哈。来这个再改一改,嗯。
07:04
来刷一下。来这边的啊,来刷一下点它点它。啊,来改一改,你看还有什么。还有哪些呀,这么多呢,是吧,来干什么,刷不吧,嗯,刷刷啊来点它点它嗯。是吧,这叫顶吧,顶部。顶部跟那个派差不多。这边我写了几个值呢,这边再改一改啊叫I2,其实这边呢,我可以先讲一讲这个东西,讲完之后呢,再往下进行来这边讲一下啊,他带的这个属性呢,是超链接的属性。操链接呢,其中有个属性叫他盖的,用来决定最后这个资源的显示位置。
08:01
听明白了吗?啊,也就你这要只要你这写什么东西,它最后呢,一定会显示在这个位置上,那么I2到底是什么呢?我们可以研究一下这个闷闷窗口啊,就刚才的我们把这个打开。来,你看一看。这个整个一个窗口叫什么,你看这叫闷吧,哎,这个闷呢,你可以研究一下啊,来打开我们找到这个门是它吧,打开了之后你看一看,这里边有很多呀。你看啊top吧,Top是谁这顶呢?来,再往下。Center是谁啊?中间那个吧,那下边还有个北京动力节点,看见了吗?这啊,再往下看,当就是这个吧,行啊,那咱们重点研究一下center吧。你是不center了?给打开它啊,来一起研究center在哪呢?我在这呢是吧,打开你看center啊,Center呢,在这有一个I frame。
09:05
是吧?I吗?I是吧?Middle啊,它又跳到middle了是吧。这不IE吗?它呃,也就是说我们这样啊,找一找。这个middle是在哪?调到哪了这个吧,打开这个middle这片呢,有一个IE。还有一个I frame I2这个IE应该是谁呢?嗯。So left吧。也就是说实际上啊整个啊,整个这个中间这个。它是一个什么页面。他写的有有点费劲了,其实没必要这么复杂,来这边是叫什么叫center吧,Center点它它这个整体,它叫center。
10:09
完事之后,Center里边又放了一个东西,叫啥叫me是吧,现在又又套了一层啊,这没必要啊,没必要这个。没必要,他又里边套了一层,所以叫什么叫。叫middle是吧,是这个吗?他是这么做的,我看它底层的代码是这么写的,来这边呢,走它是center,来这边走它是什么middle。这个是middle,但是middle呢又分左边跟右边,左边呢,这是左边吧,啊这个这个这个这个这个叫什么来着,这个里边写个I不是难的啊IE啊专业点啊,这个叫IE。完事,右边这个大窗口呢,它叫啥呢?它叫I2啊,这边这叫I2,所以呢,你看一看这叫I2啊,整个这个叫I2叫I1I2只不过I1里边放的页面啊叫什么。
11:05
Left。啊,然后整个右边这放的是什么。它放的是什么页面,我还真是得先看一下啊,放了一个。好。Welcome。这是个欢迎嘛,是吧,这是这个地方,它放的是welcome啊,是welcome welcome这么一个东西。是这么放。那么接下来大家想一想,在这呢有个超链接是吧,我只要一点这个超链接最终是显示在这个位置上吧,那这样的话,大家看一看,是否还记得有一个东西叫什么,他get写了个什么I尔法,你只要一点,最终的显示目标是不是在这个位置上啊。就是这样。一点它写到这行,那这样的话,我我把这个再打开啊,在哪来着,点哪个来着,点那个LA吧,他一点这个用户管理哈,这个啊一点的话,最终之前在这呢,你要这写成IE的话,你想一想这这是到哪了,他就是就是就是当前自己吧IE我试试啊来。
12:22
来翻一下啊,这边呢,点它点它是不是在这啊,果然是啊,行,那这样的话大家理解了吗?理解了是吧?行理解就行啊来刷一下点它点它。行了,那这边呢,我再看一看,我再举个例子,咱们一起来写这么一个东西,哪个东西呢。来打开JDK。看啊看那个窗口了吧,嗯,这个这个还有这个吧,你只要一点它它下边动吧,你只要一点它它这边动吧。是不是三个窗口啊,行,咱们一起写一下吧,啊就写上它吧,其它的话我想想啊怎么写的。
13:06
行吧,来举个例子啊,0717OV,然后document这这边哎,我写到哪了。就写到这。呃,建一个文件夹了,就叫frame set。啊,就叫这个了,来就是这个啊,主要是讲一讲这个超链接啊,超链接的什么,它的属性。行吧,说这它来打开我就写到这了啊,下一周把代码下载一下就行了,那我要实现这么一个窗口的话,大家想想应该怎么写。实现这么一个窗口应该怎么写?首先我来一个吧,啊来一个这个一练呢,就叫做。就叫一个frame吧,Set啊行,就这个得了,就叫它吧,来我就就编辑一下啊,打开它,那编辑的时候怎么编辑的标签开始标签结束,这里边呢,应该有一个头头吧,这加一个啊来抬头抬头啊啊主要是说一下这个frame side行了,这边包在写上啊嗯,接下来大家想一想,我们是不是应该把这个窗口啊整体切开,从哪切呀。
14:36
横向切还是纵向前切,我们先一分为二对吧,左和右,左边的分上和下,所以这个我先不管啊,分左和右了先,那这样的话分左和右的话,我这是不是应该来加一个东西啊,叫frame set frame set是吧?来frame set呢,我这边啊写上什么呢?写上纵向切啊,纵向切是这个纵向切一分为二,左和右,左边上,比如说25%吧,那可以写百分号逗号,后边写个星吧,或者写个75%是不是也可以呀,行了啊,知道了,然后这边呢,这个里边写什么呢?写一个frame啊来叫frame,这边写上frame啊frame好了,那么接下来呢,这个frame呢,我后边写的S2C啊,比如说HTP啊,3W点百度do com。
15:37
好了就写它了,接下来一分为二,左边跟右边呢,我就写左边是百度,右边是126吧,啊就这么写吧,啊126行了这么写了,接下来打开它。打开啊呃,打开点右键啊,打开方式换上它来,这边我先关掉它吧,啊这个先关了看左右吧。这不左边百度右转126吗。
16:02
这是怎么分的呀,这个。嗯。就是这个代码嘛,是这样写的。啊S左和右,左边占多少,右边占多少啊整个窗体左边是谁,右边是谁。是这意思吧?这个东西你捡了放到包袋里边试试看行不行?试一下啊,保存了啊,接下来呢,我点开它刷新一下。没有吧,所以你要注意啊,这个frame that不能放到body里的,只能放到什么头中。这有要求啊,所以第一点呢,我们先说一下frame set啊,标签只能放在I的标签中。啊,只能放在head头盔啊,这个要知道。
17:01
行了。呃,那想一想啊,这个左边来刷一下吧。左边的话应该从这切一下子吧。切完之后上跟下对吧,那这个时候你觉得应该怎么设计啊,如果是你的话,你怎么写呀。把左边这个切了吧,剪了啊,你看你写一个什么。啊,你肯定把它剪了,写一个什么frame set吧啊frame set吧,写这边的话你就横向写吧,是这个吧肉啊横向切,比如上面是30%啊,下面是香,那么这边又是一个两个吧,这边都是吗?这个切大家理解吧,一个纵切,一个横切啊切了之后改成京东吧,啊京东行了,我这边呢,我就给他刷一下,我看行不行。
18:00
有点慢啊。有了吧,上面吗。这不下边吗,是吧,这边吗。这就有了,好了,那么接下来我要完成这种效果,我在点这个在这显示,我要点它在这显示,是这意思吧,点它在这点它。行,那这个怎么做呢。我在这有一个页面吧,所以这个时候呢,我得在外边准备一个页面啊,我就准备一个叫package啊package。那么这个拍准备好之后呢,大家想一想,我是不是应该在这个地方写一个什么。这个吧,不写京东了啊,写这个吧,行了,那么接下来呢,我们刷一下。这是不是空白了,这为什么会空白啊,因为这个因为还没写呢啊来你把它打开。
19:00
打开之后呢,我们写一写来再写一下头,写上还是啊来这边我写上,这边呢写上开头,这个开头呢写上啊这属于是包吧,包啊包来body啊哎大家想一想,这个body这边呢,应该在这呢写一个超链接哈啊加一个h ref写上去,然后这边呢写上java.long。行你看啊,我再刷新,刷新完之后左边就有超链接了。是吧,你只要点左边那个超链接,你点。你跳到哪啊,跳到一个页面吧,这个页面是不是累啊,你在这显示吧,这是还需要个HHT吧,在这边再来一个来。这个叫class啊。
20:06
我们这边呢,写上。来。把它复制一下。铁管。这是类列表,这边呢,写上一个string是吧,好,我们试试。呃,我们刷新一下好了,我们点它吧,大家看一看这个这个这个嗯,这个还是百度,这个还是126啊,只不过这个变成什么了,Package那这块你看一看这是不是不是只有这个变成package,那么接下来你这个package里面是不超链接啊,你只要一点那个超链接。这个超链接就会链到哪个页面。是不是class list呀类列表,所以这个时候你这写的什么。是不是class list呀,是这个吧,你只要点它就列到这就行了。能理解我的意思吧,转快点啊来转快点来,我点它。
21:01
然后呢,就练到这,那这个事情吧,啊,我刷新一下,然后接下来我点它,我点它你看确实是不是练到这儿了,但是这个页面我们没有说让让它显示在这个位置上,对吧,我们希望它显示在这对吧,怎么做。他盖的吗?讲的啥呢,就讲那个了,所以这边呢,你得加一个什么,他盖的你最终是得练到这个页面上,但是你最终的页面是不是显示在哪呢?这个位置上的,你希望显示在下边吧,好怎么写这怎么写大概。来打开这个最原始的这个frame,这个frame和这个frame是三个frame,所以可以起个名字对吗?这个叫F1吧,我这个呢,就叫什么呢,F2啊,这个呢,我就叫F3行吧,行,这就这么写吧,啊那么大家想一想,F1F2F3我都写完了,这个叫F1。这个是F2,所以这边你要显示在百度的位置上,对吧,所以这个时候的话,你在这写什么呀?啊不是这啊打开看来再切过来,这边写一个什么F2。
22:12
你写上F2,它就往哪走了。就这边吧,就这时候你刷一下啊,来再刷新来点它,你看就划这了。是吧,那接下来继续吧,咱们是不是要点它呀,你点这个string的话,大家想那个在哪找找吧,找string,这是string吧,String的话你得练到哪个页面class in吧,对吧,来这边呢,我把这个写一写。Class in啊点右键啊,我新建一个叫class in带。这边呢,点右键把它打开,打开之后呢,我把这个复制一下,这叫类什么详细信息吧,类详细啊信息这边我就写上去,使俊行吧,随便写啊。
23:00
此菌类的详细信息。好,那这样的话大家想想,我再刷新来回车。大家看变成什么了,是不是这样啊,来点它了,点完它这有个string吧,这个string刚才写了吗?写了是吧,还写成它,那写成它,你看那现在你一点还是到这儿吧,我们希望把这个写在这儿吧,怎么做呀,还是叫他盖的吧,来他改的啊,F3吧S3。哪个是F3啊,那这个是F3是吧,来行了,那么接下来呢,我们再来一遍,那这个完成来点它点它就是这样的嘛。这不就是那个窗体吗?这大会了吧,其实呢,我不想讲别的啊,我就想讲一个知识点,就是这个超链接里边有一个东西叫他盖,大家一定要把它记住啊,他盖的呢,可以用来设置最终资源的显示位置。
24:02
啊来我这边写上注释吧,先来写一个注释啊,就是这个关于超链接中的它盖属性首先的作用啊是什么。作用是设置啊资源的最终显示位置,来再讲一讲可选值,可选值有这么几个,首先呢,有一个东西叫啊可选值。第二个值呢,其实就是下划线parent,第三个值呢,下划线block,第四个值呢是下划线style。
25:01
第五个值呢,就是指定frame的真的名字啊,一共就这么几个值。它作用的是设置资源的最终显示位置。可选的是top parent,这个是在什么?在顶层什么窗口中显示资源吧啊。这个呢,在副窗口中显示资源吧,这个呢,在新窗口中显示资源吧,这个呢,在当前窗口显示资源吧,这是缺省值啊缺省值。
26:03
学生值。这个我要不都演示一下得了啊。来看parents,看泡泡吧先,这是练谁啊?练润是吧?我练一下钝啊试试。来点一下。嗯,是不是在这呢。点一下是不是在这呢,你看原先的东西是不是被覆盖了,覆盖了盖没了,那这边呢,再改一改啊下划线,比如说这个parent好,我们来看parent来刷新一下,接下来我点它。一样不一样一样吧,你说老师这这这俩没区别。有区别啊,Parent跟top的区别是什么呢?比如说有a talk BB里边套C,如果C要写这个parent,就表示显示到B里边,如果写一个top的话,就表示显示在了吗?A明白吧,你既像窗口嵌套,咱们现在比较简单,如果有一个A窗口啊,里边套了一个什么B窗口,B窗口里边套了一个什么C窗口,那么ABC3层如果是top的话在这,如果是top的话就是在哪显示啊B里啊,不是AAA里边啊,Top如果是parent在哪显示啊,B里边,听明白了吧,所以这边我们现在呢,我们没有区别啊,就两层把这个来blank呢。
27:24
这个说一下这新窗口的来刷一下,你点它你看就弹出新窗口了啊,所以这个呢是新窗口啊,还有呢,就是我们的self,这个self呢是。缺省值啊,来我们点它来点它是不是在这啊,在这来在这啊,所以你这个不写是不是也是在这啊,来我们试一下,复制一下,来我们保存刷新来点它。是吧,所以呢,大家要注意啊,就是你这个缺省值,就是这个值。还有一个值啊,就是我刚才所说的指定的真的名字明白吧,比F3啊,这边我再刷新一下,哎,我再刷新。
28:10
点它,点它。是吧,啊,这是我们想要的,行了,这是关于呢,这个超链接啊里边的。他盖的属性啊,我就讲到这儿,那么这边呢,大家应该能看明白了吧,这个用户管理你只要点下去,它是不是发送这个请求,发送这个请求,最终这个资源显示在哪个位置上啊L是吧L。所以就产生这种效果了,来再打开。你看是不是,嗯。你点一下你看。就在这填是吧,嗯。行了,那显然这个呢,我们应该是在这写个so that。
29:01
你想一想点一下一它我们底层执行一个server light吧,这个serve干什么,是不是查询所有的数据,然后接下来显示在这个位置上吧。显然这个不是一个静态的页面,将来这个页面点击右键你看一看,这个页面一定不是HTML的,一定是一个JSP的,JSP里边肯定有for循环,把这个东西输出吧,啊,肯定有,并且你也可以可以想象到将来它肯定是个list子的集合,而且这个list子的集合里边有几个元素啊,三个,并且这个例子的集合中每个元素都是什么对象啊。那是U对象啊,对吧,那是U的对象,然后U对象是放在什么里边呢?List的集合里边是吧,咱们给它起名叫u list。将来你就可以循环了。杂志呢,就是这个意思啊。嗯。其他的没啥啊。要是自己写能写出来吗,这个。应该是问题不大啊,这个东西。
30:02
你就你就先那个什么呗,你就先不做分页,你底层输入有有有一有1000个,你全给他查出来,生成1000个呗,是吧,你再生成1000个了,你再考虑怎么分页。明白这意思吧,你先一步步去做啊,行了,咱们这块的话,我就直接到位了,就不再一步步写了啊。首先是这样的,我先先介绍一种方式啊,一种分页方式。一共包括两种,一种叫逻辑分页,一种叫物理分页,啊我们先看逻辑分页啊,然后呢,我们再看物理分页,好了,这边我先去介绍一个概念,到时候再写吧,啊这个先关了吧啊好了,这边呢,我把这个打开来,打开之后呢,我在第五个版本里边写一写啊把它复制一下,好,这边呢,我贴过来,然后呢改成五个。呃,这边呢,主要说一下啊,就是说分页查询。叫分页查询用户信息。
31:05
那么分页查询啊,用户信息啊。或者分页查询吧,啊,包括两种方式啊,两种方式哪两种方式呢,第一种方式是这个逻辑分页啊,还有一种方式呢,叫物理分页,来当前版本啊,当前版本使用逻辑分页啊,今天呢,我们就讲一个分页,其他的不讲啊,我们能把分页讲完也不错。啊,因为还有很多东西大家看见了,这边有个信息是吧,这边还有翻页呢,对吧,这边还有一个那个叫什么,跳转到第几页吧?啊,咱把这个做一做啊细一点,当前版本使用这个逻辑分析啊,我们来看一看逻辑分页的实现原理,逻辑分页的优点和缺点。
32:13
什么情况下啊,什么情况下选用逻辑翻译来是这么一个意思,我来讲一讲啊,是这样。逻辑分析啊,当用户第一次点用户管理的时候。将数据库中所有数据。全部查询出来。然后放到例子的集合中。再将list的集合存储到session对象中。
33:06
嗯。大家知道当用户点下去的时候,他会不会向我们服务器传送一个页码。肯定页码再说吧,啊,他肯定会把页码传进去对吧。我点这个时候我肯定会固定传一个几啊一。对不对啊,乘一个一。将来你点这个翻页的时候,是不是也会传一个页码进去啊。有可能传传个一呀二呀三呀四呀,反正是动态的吧,对吧?啊,但是我能我能确定啊,点这个肯定是传个几的一,这是肯定是第一页吧,我点这个是不是最后一页呀,这个我先不用管啊,总之呢,我再说一下啊,逻辑分页我还没有说完啊,刚才我继续说是这样,当用户第几次啊,第一次点超链接的时候。
34:00
会连接数据库,将所有的用户信息全部产生出来,形成一个大的例子的集合,然后这个例子的集合再放到session对象中。由于用户在点的时候会传出个页码,这个时候我根据页码取从那个大的list的集合里边能不能取出那个小的list子的集合,而这个小的list子的集合里边只有几条记录啊,三条。是这意思吧,啊,然后把这个记录再显示到这吧。当用户第二次访问的时候,我问大家一个问题,由于窗口没有关闭,所以session没有消失,对吧?Session没有消失,那从session里边是不是一定可以把这个大例子的集合再取出来,从那个大的粒子的集合里边,是不是再通过下边再计算一个小的粒子的集合出来?也就是说逻辑分页呢,它有一点挺好的,不用一直连数据库吧。第几次连,第一次连完之后呢,底层有100个用户对象,是不是把100个用户对象都给它出,出完之后放到那个叫什么集合,绿色集合吧,啊放到绿色集合中。
35:04
然后这个list子及格再放到session里边,那么只要浏览器不关闭,我们session不会消失,大的例子就一直在,你只要下一次再点的话,发送页码二啊,发送页码三啊,发送页码四啊,发送页码五啊,你随便发送页码,你只要发送页码,我就可以通过大的绿色及格找到这个小的绿色及格。只有用户第一次访问的时候,我们会连数据库,但是这种方式有个很大的缺点。什么缺点啊,没有办法保证数据是最新的。你从上午啊九点钟开始访问,到晚上九点钟12小时你一直在访问。Session是一直不会销毁啊,Session里面原先是不是100条记录啊,你从九点钟到晚上九点钟是不是还是100条啊,但是你却想不到这会底层数据库里又加了100条。有没有可能啊,其实本质的数据应该是多少条了,200条了,但是你现在还是查到多少条了,100条,因为你没有连数据库,你连了几次就一次,是不是有很大缺点。
36:00
嗯,有很大缺点,那宇峰老师你这么大缺点,你讲它干干干嘛呀。有用吗?有用啊,你想一想,如果这个数据是死的,就十条。是永远都不变的,可以确认它是不会改变的。或者是有100条是死的,是不变的,或者很少改变的。那这个就是合适了是吧。那数据不会变啊啊这这合适了,还有一个问题啊,这个这种方式有一个缺点什么什么缺点三对象是什么对象是个什么级别的对象绘画或者是用户级别对吧,也就是咱们班里边有30个学生,那这个对象在服务器里面有多少个对象啊,30个对象吧,那么这个一个对象里面就有个历史的集合,就指向历史的集合吧,那就指向历史的集合。那有可能啊,你你你同桌在访问的时候,有有没有可能又指向另外一个例子即可呀,那这样有30个30对象的话,这个例似经有多少个,30个类似即可吧。
37:04
那这样的话,内存是不是也也是很耗费内存的呀。所以逻辑分析的有一个缺点啊。我写一写,来这边写上实现原理,先写吧,先写一下啊呃,当用户第一次访问的时候啊。其实这么说不太对啊,这么说不太对,应该怎怎么怎么怎怎么说合适,当用户别别第几次啊,当用户访问的时候,对吧,访问的时候。呃,获取三什嘛啊,获取塞in,然后呢,从什么塞in中获取什么大粒子的集合是吧?获取大粒子的集合没有获取到则连接什么数据库是吧?则连接数据库查询所有记录啊处理或者便利结果集,便利结果集封装Java对象,并且将Java对象存储到list,将什么还是什么GA叫什么list集合啊啊大list集合是当用户访问的时候获取session,从session中获取大list集合,如果获没有获取到的话,就连数据库查取所有记录便利结果及膨装对象变量结对象存到历史的及合,再将大离子再将什么,再将大历史的及格存到哪啊对啊。
38:35
大类的集合存储到session对象,存到三个对象,就这样吧,是吧。由于用户访问的时候会传递一个页码是吧,会传递一个页码。
39:01
呃,可以根据什么呢页码。可以根据页码啊,从加什么大粒子的及格中读取出小粒子的及格啊小集合,再将什么叫小类集合吧,小类的集合存储到哪啊,Request范围吧,是不存一下啊request范围中啊,跳转到什么JP中显示即可对吧?好,那么当用户访问的时候啊,还是这样吧,当用户访问叫什么大力的集合。来这样啊,如果没有获取到得是这意思吧啊,当用户访问的时候,获取筛,从筛中获取大粒子的集合,没有获取到隔离数据库,还有一种情况就是什么?获取到了大粒子的集合怎么办?
40:12
啊。用户访问的时候会传递个页码,可以根据页码将大粒子这个读出小粒子一个吧,再加小粒子这个存储导里筷子范围调整Di显示啊,这个大家不用记笔记了啊,我都记好了呢,你就听啊,这个逻辑分享有点绕。为什么说绕呢?因为这个东西你没有办法,因为第一次接触嘛,啊不太好理解,这很很正常的,来我再说下逻辑分页啊,是这样,我们这有超链接点下去会发送一个页码,一呀二呀,反正发送页码吧,发送页码过去之后呢,我们底层啊,实际上是第一次访问的时候,我们会连接数据库啊,把所有数据都查出来,生成大的list子的集合,把大的list的集合再存到30里面以后呢,我们直接从30里面获取个大list的集合,拿到大list集合之后呢,我们根据页码来计算出一个小的list子的集合。啊,然后把小粒子就从那这筷子范围中跳就行了,大致的逻辑分析呢,就是这样完成的啊逻辑分类优点,不需要频繁的连接什么数据库啊,连接数据库。
41:16
在某一个方面啊,提高了什么呢?访问效率明白吧,缺点呢,无法保证数据是什么,最新的数据,这是第一个缺点,还有吗?如果数据量庞大。啊,每一个用户都包含这些数据,就是每一个用户啊,或者底层有一底层使用的是单身对象啊,单身对象这个对象是用户级别的对象,会耗费大量的什么资源,其实啊,或者会耗费大量的内存啊,其实还有一种方式,什么方式啊,存到什么里边。
42:27
所到常态里面这个例子的集合只有几个。是不是只有一个呀,但是必须得有个前提,必须得确保啊,记住了,必须确保这个数据是不会更新的。咱们不不这么做,咱们做到在里边。明白吧,在什么情况下选择逻辑分析。数据不会更新或者很少更新。二、数据量小。
43:02
但是你想一想,数据量小的话,还有必要用分页查询吗?所以这个东西有点矛盾啊,咱们不管它了,总之呢,咱们得出一个结论啊,想告诉这个结论是什么,这个结论就是逻辑分析很少用啊,逻辑分析很少用啊,但是这个呢,还是要会啊,还是要会,万一你在公式没遇见呢,是吧,到时候再在解解析呢,他这个也有可能面试啊,面试可能会问你是吧,分页你都用过什么方式呢?你像物理分页,逻辑分页对吧?他说你描述一下逻辑分页吧,或者描述一下物理分页是吧?逻辑跟物理有什么区别啊,逻辑分析优缺点是什么,他可能会问,所以我把这个写一写吧,啊写一下,所以呢,咱们一起来做一下啊这个东西。啊。行吧,那我这边是不是应该先把它画一下啊。来。
44:01
这边呢,我看一看啊,点开点开点开点开哦,做了个保存了是吧,来点开点开。系统管理哪个这个。复制一下啊好了,复制之后呢,我在直接点右键是这个用户管理用户管理吧,来我点右键啊呃,直接新建一个那个叫sequence吧。啊,这边我写上了,这是一个什么逻辑翻译,好像分页查询用题逻辑分译,双机这边的角色呢,把这个叫系统管理员吧,拖过来啊,然后呢,我们这个底层要访问tomca tomcat访问serve,最后跳到什么JP吧,大致呢就是这样啊来,这是一个tomcat啊,这是一个什么。叫逻辑翻页的什么逻辑翻页的serve了是吧,这是什么呀,最终是一个system,还有unit第2H什么改成什么接吧,肯定是这样啊来肯定是这样小吧。
45:12
来大概的就是他访问tomcad tomcad创建request,创建response了。既然调service,首先第一件事干什么?这个第一件事获取页码吗?是不是得把页码获取到啊啊获取三啊,然后呢,从三中取大的历次集合吧。理解吧,咱们这写写写吧,啊,这是什么,这是一个点击用户管理啊,或者是分页查询啊,分页查询信息这边呢,应该是一个创建了一个request对象啊comca,然后comca其实又创建了一个对象叫response啊创建完之后呢,它其实调的方法do get还是do post不管了啊,反正是调service,把这个request和response是不是全进去了,调这个对象的这个方法,接下来首先第一步呢,肯定得获取一个什么页码,对吧,关取页码。
46:13
你想一想啊,大体的思路你写一写,获取页码之后呢,你肯定要在这干什么,获取什么session对吧?那你想一想是不是肯定从那个大的,从那个三审里面取什么东西啊,一定是从三审中取什么大例子的及格是不是取啊,你想啊,获取页码,获取载人,获取大离子集合,然后你拿到大离子集合的再往下,你想一想该怎么走啊。从30中取大力及格。根据什么页码啊?从大粒子的集合中取出什么小粒子集合吧,那取出完小粒子去干什么呀?啊,肯定得将小粒子的集合存到什么,将小粒的集合存储到request范围中吧,啊范围中,那接下来呢。
47:09
是转发呀,整合吧。整合之后返回啊,返回给他来这边呢,我们再返回啊返回。来这个我再连上去。这。这边呢,肯定是转发了。来转发,转发之后呢,我们这边整合啊代码,整合完代码之后,咱们这边呢,肯定是返回啊整则的HR,然后接下来就是响应吧,HL代码,然后浏览器这边你就认认为这是浏览器得了啊,这是渲染页面,所以说这样的结果,那简单画一下吧啊。来这边缺不缺呀。
48:00
是不是缺东西啊?啊,这边。获取页码之后,获取30,从30获取粒子即可,从粒子即可取成小粒子即可,从将小粒子从到有块子,大致的思路你想一想,是不是获取33成大粒子即可,拿到之后呢,从大的里面取小的,小的再存进去,其实转发嘛。哎,你想一想这边呢,还有中间一个步骤,什么步骤。如果从三中取得例子的集合是,那需要干什么连接数据库对吧?嗯,所以这边呢,在在这个啊,从三中取例子的集合。这个这加上去。加什么,如果啊。返回的大粒子的集合为,那则连接数据库。对吧,连水浒啊这个东西呢,这个工具没有办法表示这个if else啊,所以这个呢,咱们就简单挂一下得了。
49:02
如果返回的大电机隔位,那则连接数据库,然后呢?嗯。执行查询语句吧,返回结果集对不对,然后呢。不是便利结果集吗?肯定是便利结果及封装用户对象对吧,然后呢。将用户对象存储到哪?将用户对象存到历史的集合中啊,将用户对象存储到大历史的集合中,对吧。就行。将用户对象存到大历史记中,对了,还得将大历史金额再存到什么?
50:04
将大类的集合存储到session对象中,这是我往中间加的几步啊,这是那个if语句里边写的东西。好了,大概呢,就是这个意思,接下来我们就来开发。开发的话,首先呢,咱们这有一个这样吧,嗯,这样大家先休息一下吧,啊,下一个咱们再继续啊。
我来说两句