00:00
好,大家来看我屏幕啊。昨天我们把这个系统的需求做了一个了解,然后呢,我们分析设计的数据库是吧,然后呢,我们把这个P无机类把它建了一下啊,然后昨天晚上我们说的一个小问题。呃,是在我们的。是在我们的卡item当中,我看一下啊,对的是在这,呃,这个user属性咱们数据库里面写的是,呃,我们写的是user病啊,所以这个还是要把它改一下的。好,我们看一下啊叫book DB打开,然后呢,我们对应的是这张表。叫U病啊,这个属性名,大家这个得把它对应上,所以我们这边把它改掉,改成叫U病。那这个改成USB之后,那这两个就不对了,我们得把它删掉。我们重新生成一下。Get a set。哎,就这样的吧。啊,这是一个小的细节,这个昨天这个没有注意到啊,得把它改过来,那行再来。
01:03
嗯,下面我要做的事情呢,我们就按部就班的来来进行啊,昨天我们这个是。优异的CT了。然后其中一个叫德诺。昨天呢,我们是这个user,我们已经查询出来了,我们会发现这个user是有数据的,那就说明我们这个登录验证的这个功能是成功的是吧,同学们这个功能是成功的,OK。那下面呢,我把这个PRO24,我把它复制一份,我就不在上面再去修改了,我重新新建一个。把它改成25。把它拷贝一份。稍等一下啊好拷贝过来了,那就在这把它打开,把这个文件把它重命名一下。好,然后呢,我们再把它导入进来。Structure。然后呢,我们回到model,我们点击加号,点击import,我们把25。
02:04
也就是这个,也就是他把它加入进来。那行再回到artifact,然后咱们再新增一个。我们新增最后一个点击OK,点击应用是吧,同学们啊,就是这样那行啊。呃,再回到这边来,我们再点它。再回到deploy。然后呢,我把PRO25把它加进来,就是它。啊,点击一下应用OK,然后呢,回到这边来,我们把这边加一下PRO25。OK。Re deployed?Update型应用。OK,好,那行吧,那这个项目呢,我现在已经把它复制一份了,再来再继续啊。大家帮我来思考一下啊,我们登录成功之后,登录成功之后我得显示这边的图书的列表吧,是吧,同学们,所以呢,我觉得呢,我们得有一个查询所有图书的这么一个功能,我们暂时先不考虑分页。
03:01
先不考虑分页啊,同学们回到这边来。所以呢,我觉得在这个地方呢,我应该要有个接口,这个接口我就称之为叫book DAO行不行,同学们。好,然后它其中有一个方法,List book get book list。就行了。啊,爆。那如果大家需要考虑分页,需要考虑价格范围的话,其实和咱们之前一样,我们以前写的是string keyword,然后呢,还有一个叫in,叫比如说叫page number第几页嘛。我们以前是这么写的嘛,那现在这边已经不是根据关键字查询了,而是有两个值intake。比如说命price。最小的价格ineg max price是不是个价格范围啊?那我们在写搜口语句的时候,就不要用那个will什么什么like keyword呗,我们就使用价格between mean price and ma。
04:01
是不是同学们,然后后面再加limit一样的吧。啊,其实是一样的行,所以这边我暂时先不考虑啊,大家可以自己去把这个把把它完善掉。我就直接写的量查询所有的。再来,我们得去写一个实现类。所以呢,我回到这这里面来,我们去新建一个book DA m po。然后呢,我要继承best do,好,监控号里面写的是什么?应该是book吧,是针对于book这个实体所要进行的一些查询或者删除等等等等操作吧,所以我们写的是book implement。不丢就这样子,那我们实现一下这个方法。好,这个方法其实比较简单,那就是XQ的。Selection from t book就行了呗,哎,就这样子。好,那这个方法我就把它写完了。这是我们的do层的实现类,然后呢,我们得回到设备支层,咱们点来补一个接口。
05:01
所以book service。好在这个里面。我们得写个book get book list,好double。然后呢,我们得去写它的实现类。Book service。然后呢,我让他实现。不可。好了,那么我们得实现其中的方法,那这个方法的实现肯定离不开我们得需要注入book do是吧?同学们,我们得需要注入它,然后回到这边来,我们要进行一下调用book do.get book list就是这样的。OK。那么这是我们的设备支撑。呃,Service呢,我们写好之后,我们再来想一想,我们之前是在登录页面上的,回到这我们来看一下啊,回到pages,我们找到user。好,我们在这边。那这个地方我们有一个登录的表单在这里。他提交给user点路。然后呢,我们做了一个登录验证,那么右侧点度呢,它对应的CTRL就是它。
06:04
哎,所以我们就执行这个方法吗?那这是我们做的登录验证,请问一下同学们,我们做完登录验证之后,我们得要去展示图书的列表。要在首页上展示图书的列表。我们其实有两种解决方法。第一种解决方法,我们在这个user control里面,我们引入book service。我们引入book service,然后我在这边调用一下。比如说我就在这边写一下profit。Book service book service。那很简单啊,我就在这边写一下book service.get book list。哎,可以吧,同学们,这是没有问题的,然后我把它以及user的这两个全部保存到S里面去吗?然后我再跑到index页面上去吗?可以的吧,这是没有问题的,这是一种做法。但我始终都觉得同学们啊,我始终都觉得你这个方法是个登录的方法。然后我们这个user control里面引入了book service的这个依赖。
07:02
我反而倒觉得这样的方式呢,呃,另外一种方式会更合适一些。啊,怎样的一个方式呢?我这边做登录验证,那我就是做登录验证哦,如果你不等于呢,你验证通过了,验证通过之后,我再跳转到另外一个controller上面去,另外一个和不可处理相关的controller上面去。诶是这样的,因为因为我考虑的是什么呢?考虑到我将来啊,我对于这个图书,我还有其他的一些操作的,比如说管理员在后台的时候,他还要对图书的新增啊,修改啊,删除啊,那都是和图书相关的操作。那么和图书相关的操作,我们就全部把它归并到图书的controller里面去。当然了,如果我们非要这么去写,没有问题的。啊,这样写也是没有问题的,那行我们现在换第二种方式。所以呢,我在这个地方我来考虑一下if,如果use不等于呢,那表示你验证通过吗?表示这个人登录成功吗?那么登录成功之后。
08:03
我就把这个用户保存到筛选里面去哦,那我得需要筛选,所以我在这边写个筛选,HTTP筛选可以吧,同学们。好,然后在这个里面先点set at,我就称之为叫current user,表示当前登录的用户行不行。然后在这边跳转redirect,我让他重定向,重定向比如说给book点读。行吗?同学们,我就重定向给book点路,本来我后面还要再去写operate,比如说等于index,等于index是不是调用人家的index方法呀?那么我不写是不是它默认的也是index方法呀?哎,没错吧,咱们是在dispa里面做的判断是吧?如果operate获取不到,我们就直接访问它的index方法,那行吧,我就把它写成这样了,否则假设你能够出来的话,你能够出来是不是表示if不成立?If不成立,就是不是是不是就说明你这个登录是有问题的啊,验证是有问题,说明你是登录失败的,如果你是登录失败的,我们就不要跳到index页面了。我们又回到哪里去呢?
09:01
哎,你应该再次回到这个loging页面,那么我们的前缀是不是写的杠pages啊,叫杠web in法,然后pages,那咱们下面是不是叫use-loging啊,因此我们在边写一下use-loging可以吧,同学们。就是这样。啊,否则我们就到这个页面上去了。那行吧,下面我们把焦点我们转移到这个上面来。因此,我需要在controller当中,我们来写一个book controller。好,然后呢,我在这边我需要一个方法,Public string是不是叫index。哎,在index方法里面,我们需要去获取图书,好。Book service book service,然后回到这边来,Book service.get list那行,这样我们就能得到一个book list,得到它之后我们可以把它保存到三星里面去,因此这个地方我是不是需要一个HTTP筛选,没错吧?我们写个section选好,然后回到这边来,三线点set好,Book list OK。就这样的,然后我们再跳转index。
10:03
好,我们看一下index在哪里。Index是不是在我们pages里面。所以我就直接写个index就可以了。好了,咱们一起来,咱们一起来看一下啊,我把断点设在这个地方,我们来看一下这个能不能查询到。当然第一步肯定是登录了,登录之后它会重定向,重定向到book点路,到book点路就会被他给获取到,然后就会执行index方法,然后呢就就要就要去查询。那行吧,咱们把配置文件把它写一下。好,User着跌,我们现在还多了一个跌。不是吧?Class com.and we.book.da.mpl.book do,好。这个大家帮我看着啊,防止防止我写错了啊,请大家帮我一起一起关注着,防止我那边这个翻低级错误,好,Book service。Class com.at硅谷点book.service.mp点。那么它里面肯定是需要DA的依赖,也就是他。
11:02
好,再回去,回到这边来。Name等于他。然后ref等于它OK,就是这样的,这是我们的book service。好,再继续,呃,我们这边除了有user,我们得还有一个controller啊,另外一个controller是不是叫book呀?好,Class com.at硅谷点点control点。Book ctrl就这样的好,它里面得需要,所以name等于book service。Or I have the book service。OK。行,那这边我已经把它配置好了。那行吧,咱们一起来试一下啊。这是我们上一次的啊。
12:00
啊,第一个是显示。主页面。也就是index页面。好,第一步我们是新建的,是叫book do。啊,第二步我们是新建的book service。好,第三步,我们是新建的book controller。哎,就是这样的吧。然后呢,还有具体的时限类啊,具体的实现类我就不写了,新建book do写一下吧,Book do po。Book。Service。好,就这样子。然后这个当中,我们其实写的是一个方法。Getb list。Get a list。好,那么这个当中对应的是index方法,那行吧,就这样子,那下面呢,我们需要去去编辑。编辑index点页面,我们要在这个页面上显示数据,现在我们已经把它启动成功了,我们来看一下它这个里面有没有获取到数据,行吗?同学们,咱们一起来看一下啊。
13:02
好,现在我觉得大家应该要慢慢的要去要去熟悉啊,熟悉我写的这个套路,你看我先把服务器段先写好,我先看看能不能获取到数据。如果能获取到数据,第二步我再考虑在页面上能不能展示,是吧,先试试啊。好了,回到这边来,我们来登录一次,点登录。好,进来了,我们看一下book list。是有数据的吧。伯格里总有11个,你看啊,打开看一下。ID有的,Book image book name price author,这些都是有的,除了这个book book status,是不是我们数据库里面没有这个列?看一下啊。报个表。有的吧,但是我还没有见这个值是吧,我不是给了一个默认值的吗?我记得。右键。我知道了,这个应该是对于新增的数据才有效,以前的数据他不能不会,他不会修改是吧。那那行吧,咱们把要不把它改成零啊。能表示有效啊,就这样子。
14:00
好。那无所谓了,反正这个属性咱们暂时还用不到,当然如果说咱们非要较真的话,咱们其实是现在就需要去用到,为什么呢?我们在这个DA当中。哎,我们去查询的时候,你最好带一个will status等于零。是不是我们就把有效的数据全部查出来了吗?Po status they?是不是这样的啊,叫box等于零,就这样啊,这个大家应该很好理解,如果这个数已经被管理员给删除了,我们说的是假删除,他已经把它改成只把它,比如说改成负一表示无效。啊,我们写一下。零表示正常。负一表示无效。好,如果已经把它改到无效了,你就没必要去展示了啊,这也是没问题的。那行吧,这个咱们暂时先这样。好,说明咱们数据是没有问题的,再来下一步我需要做的事情,我就需要在页面上去,在这个地方咱们就需要去展示数据了。啊,现在这里面的数据都是写死的,都是假的,下面咱们一起来写一下。
15:04
找到index界面,也就是他。那咱们一起来把这个页面一起来改一改。首先我们把这个timelia。把它放进去。回到这边来,把它放进去,OK。稍等啊,我们挪到最后面去。飞到这边来。Timeg。OK,再来,Can you see。斜杠。根据。有好。把后面的加进去。OK。啊,这边我就把它改完了再往下走。我们往下。
16:02
一直到这个地方是吧,那这一个一个的divv是不是就是我们一本一本的图书啊。这边少了一个T,我尽量把它补全了啊,虽然说这个没啥用啊,但是我们尽量保证每一个单元格都是一致的,那行吧,那从这边开始,下面的我应该都删掉,我只保留一个模板就可以了。全部删掉。大家看一下,我只保留了这一个对不对,因为它长得都是相同的啊,具体它的样式是怎么写的,咱们就别管了啊,那行第一个是什么?第一个是图片。那我这一个DV,我是不是要经过一个循环呗。TH冒号一起。然后呢,比如说我这边写个叫book冒号到了是不是三先点book list。哎,就是这样。好了,呃,我这边我就不再想去写book.book点,那写book点太烦了,我们学过一个叫object的,还记得不?Dollar book。啊,那表示这个里面所引用的所有的属性都是不可的属性是吧,同学们。
17:00
那行这个image,咱们写一下TH冒号src,我们这边写个竖线。啊,稍等一下啊,艾特大括号。然后呢,咱们把这个竖线把它扔进去。好,然后呢,从这边到这边剪切。把它放进去。好了,呃,你这个里面这这玩意儿,这个地方应该是应该是灵活的,前面是写死的是吧,前面都是路径,那这个地方咱们要写的是星号大括号,然后呢,我们有个叫不可image。是吧,同学们,我记得是叫不可卖进我咱们点来查一下啊,Ctrl shift r找到book。好,就是它。不可以卖进对的吧,没问题啊O向左再回去。好了,那说明这个是没问题的,再往下,这是书名,哎,TH冒号text等于。竖线,竖线数名冒号,然后呢,星大括号,我们写的叫book name是吧。好,Book,你看它有提示的,没问题啊,那说明就是bookname。
18:01
再往下是作者,Text等于。好。作者,冒号星。Also OK,搞定。再往下是价格TH冒号text等于。价格冒号。嗯,然后还有一个叫这个人民币符号啊,然后再来个新大括号,这应该好像是叫price吧。我看一下啊。不叫price吗?Can you shift book。是叫对的吧,对的啊,价格price没错啊。好,再往下销量。T冒号text等于属性属性。销量冒号。嗯,这个应该是。Con吧,还是叫什么?还是叫cell康的是吧,销量嘛,康这个是吧,下面这个是库存吧,不可的是库存啊S这个是销量,我们写一下啊。这个是销量。
19:00
这个是库存,OK。那行,我们再回去。所以我们这边写的是叫by count。销量。是要扛的啊。好,再往下T冒号text,大家帮我看着啊,帮助我哪个记错了,好库存。好行大括号,然后呢,我们用的是库存,库存应该是不可抗的,没错吧,就这样子,那行吧,咱们现在把这些属性已经写完了,那写完之后咱们先来试试,他那边报错这个你不用管他行吗?他报他的啊,你不用管它。那行,如果大家如果有强迫症是吧,老师我看那个波红波浪线我就看不惯,你自己去百度一下,这边它其实做的是一个页面上做的是个校验,你只要把那个校验,把那个勾副卷光把它去掉就可以了。啊,大家自己可以去去去百度一下啊。那行,咱们进来,现在进来试试呗。页面有改动,然后我服务器我也没重启,我试试看行不行啊。
20:02
点击登录。好,他现在进入debug,咱们现在这个就不要设断点了,因为刚才已经看过了,他是对的是吧,直接跳过去。好,我们回到页面上去。哎,可以了吧。名字是不是都换掉了?刚才写的都是同一本叫什么活着那本书吗?啊,现现在都不是都都改掉了。那行,那这个图书列表咱们就搞定了。啊,就是这样的。好了。OK。没问题吧,同学们。再来。
我来说两句