00:00
我们现在呢,一起来看,我们要学这个javab案例,叫艾特硅谷网上书城。严格的说呢,这不是一个项目,但是这里面却可以把我们前面讲到的,比方说jdbc Java web j query a X。所有的知识都做一个复习和巩固,里边没有很复杂的业务,但却牵扯到了我们后边常用的一些这个,呃,案例和技术,比方说分页。比方说如何进行事物处理,OK,我们来看一下。首先呢,是我们的一个功能分析这个功能啊,相对而言比较简单,呃,只有一个这个角色叫客户,客户能干什么呢?他可以来干这样的几件事儿,第一个查看图书的信息。第二个我可以把这个图书放到购物车里面,我可以查看购物车,我可以修改购物车,我可结账,我可以查看我已经这个交易的记录,那在查看图书信息里边,可以查看图书的详细信息,可以使用条件查看图书信息,可以对读书信息进行翻页。
01:17
整个的话就是一个查询,把图放到购物车里边,查看购物车,修改购物车这块包含啊,我可以清空购物车,购物车里边东西啊,我都不要重新再买,可以修改购物车单本图书的数量,比方说我这本书我想买两本,OK,你加个二,我们可以删除三本图书,我当然还可以结账,我这个结账的时候呢,包含了一个这个编写,呃,用户,呃,这个填写用户名和账号信息,我还可以来查看交易记录,整个的这个功能就这么多,我们逐一来看一下。嗯。
02:07
哎,这块的话呢,相当于查看图书的信息,我可以分页。一共是11页,我可以这样,11啊,我写个零也是不合法的啊,我我写个负数也是不合法的,OK,我可以去合适的一页,我可以来看图书的详细信息哦,回来好了,注意哈,我这是第三页,我看一个信息,我再回来的话呢,还是第三页,我可以根据这个查询条件来查找符合条件的读书信息,我们这个条件的话呢,仅加了一个price,你再加其他的,比方说加上这个特出的名字啊,包括作者啊都是可以的,那我们这块的话呢,只有一个这个,呃,价格的范围50~60,你看注意现在是11页,每页三条记录哈,我查一下现在只有五页下一页,下一页好了,我看一个spring,我再回来,诶,这个时候怎么样,我们发现这个查询条件是不是还在啊。
03:09
而且还是回到了我那一页,这个呢,就是我们刚才看到的这个查看图书信息的这个功能,查看,呃,查看详细信息,呃,根据条件来查看图书信息,以及对图书信息进行分印,然后我们看我可以把图书加到购物车里边,加购物车,哎统一加完之后的话,还是本页还保存着那个查询条件加加你看三件商品,我我依然这样加,这都可以好了,我可以查看购物车过来看,购物车里边一共是这么多信息。查看之后的话呢,在这里面我们可以清空购物车,我一会儿清空啊,比方说我可以修改单本书的数量,这个会又改成十。
04:00
看哎,十变成18本了,而价格变成992,再看着变成一。一应该是几本啊,九本吧,已经变了啊,价格的话呢,也发生变化,变成零,OK,问我确定是要删除吗?是这主就删了,我还可以删除单本图的信息,删除是好了,只有一个继续购物又回来。我还可以在街上进行买买书,买书,买书。放里面清空,购物车里边为空,继续购物。啊,去直播这个。链接有点问题哈,好了,回来回来之后的话呢,我们再继续买买几本书。好吧,查看,呃,比方说这个我买了板。这个我买十本,这个我买十本好了,这个时候的话呢,我可以进行结账操作,结账,然后我们米用户名不能为空,账户不能为空,OK,我随便写一个。
05:11
他说什么呀,用户名和账号不匹配,他俩对不上,后来我让他配上。啊,余额不足,我我的钱还不够。我们这个钱呢,我们可以直接改数据库是吧,这是比较爽的地方。对了吧。告。Open。那不是这个应该是第一个。2000。好了,还有一个条件呢,可以来进行判断,我们刚才买了一个spring。
06:03
被告。好了,Spring这个书的数量,现在剩了这个,呃,12本,我给它改一下,我改成一个一本保存。啊,对了,一本。保存好了,保存好之后的话呢,我们再拿过来。对吧。汤姆一,余额够了,这个时候是不是是不是应该上面的库存不足了,库存不够了,我把这个库存再改一下。好了,这个时候的话呢,就全够了,于是我按三米,这个时候呢,购物成功,购物成功,购成功的话,数据是十二十二二二,我刷新一下是不是改成了,是不是对调了呀。实际上并不是对调啊,刚好这个是二,这是12把那个十移过去了,然后完了这个数量都变成修改了,OK,这就是我们整个在购物这块的操作,这个操作完之后的话呢,我们还可以来查看我已经买过的图书信息。
07:15
鱼光肉输入一个名字叫汤姆。OK,你看我买的这是这都是我买的图书哈,8月6号我买的这个哈,Let买的这个HX多少本,这个数量是多少,我们这块的话呢,还可以统计出更详细的信息,呃,优点这就是看我以前的这个交易记录,OK,整个的话呢,这块就是我们的这个,呃,功能分析一共就这么多。大家先有一个数哈,回头的话呢,我们会逐一的加以实现。功能相对而言的话呢,还比较简单,但里面用的技术我们基本上呃,在后边开发的时候用到的,以及什么的一些重点的话呢,都能够复习到。
08:05
整体架构肯定是Mac设计模式model我们用的是pogo,就是什么呀,普通的障碍类就是这块pogo,然后这块有个色位业务层DAODAO去访问买色口,这块是我们的model层,然后。Controller。控制器solid view就是GSP,当然我们这块用到了E跟GSTL就是我们总体的架构。技术选型my circle c3P0DBU,事物解决方案是filter加上local,这个的话呢,后边我们会详细的进行说明,AX解决方案query减S杰森,还有那个张老师讲的goo的杰森乘之间的接果方案,用的是工厂设计模式。好了,难点分析,我们这里面也算是一个重点是吧,我们主要要搞定的就是一定要会分页。
09:07
我们进行这个,呃,公司里面去面试,如果要是有机会让你,哎,你上去上这个电脑上给我写个程序吧,这个程序很有可能是分页,或者是简单的线上改查,比方说做一个登录或者做一个注册。但是分页的话呢,是里边至关重要的一项技能,然后带查询条件的分页,就是我如何在这个点分页的过程中,那个查询条件不丢,以及使用filter加上local来解决事物,这是我们这块的一个难点。换句话说,这些内容的话呢,是我们前面所没有接触过的好了,实体类。我们这里边我们一共是需要这样的七个类,Account账户,U等用户trade交易就一次交易,一次交易包含若干个交易项,Trade item trade item一定是跟某一个图书相关联的这块,注意这个箭头哈,UD里边包含着arop信息,UD里边还包含着trade的信息,Trade里边包含着呃,一个UD应该包含了多少个trade?
10:18
若干了吧,所以说从优得到trade之间应该是一个一对多的关联关系,一个用户可以有多次交易,那一次交易是不是可以可能有多个交易项了,我一次交易的话可能买多本书,所以说trade跟trade item之间又是一个一对多好了,而这个trade item,一个交易项跟book之间应该是一个一对一吧。一个交音项,我比方说买个书叫spring,那它跟它之间是一个一对一,至于说这个里边会有一个什么呢?啊,我退的item里边可能会有一个属性叫quantity,我买了多少本,但是trade item跟book之间是一个一对一的一个关联关系,然后这些以外呢,还有一个shopping car。
11:06
购物车以及购物车里边具体的商品,那其中我框上这一部分是要对应数据表的。而这两个呢,我们并没有对应的数据表,换句话说,我如果在我这个买东西的过程中呢,我这个呃,掉线了是吧,比方说这个时候我这个把浏览器关了,我下一次再登录的时候,购物车信息将不再保存。当然也可以保存,我们这里边儿的话呢,是不再保存没有了。外边有一个shopping cup跟shopping item,那它所对应的数据表有这样的五张数据表U。Account。Trade。Trade iPhone跟。有这样的五张数据表。好了,那这五张数据表的对应关系跟。
12:03
嗯,这个的对应关系是一致的。好,我们看一个更简练的图啊,这是一个ER图,你看这个图,这就是他们之间外键的关联关系,等我们到最终结账的时候,我们会。非常明显的体验到每一个对应关系之间是如何来进行这个业务操作的。在我们最初查看书的信息,包括操作购物车,我们只需要用到这个book,只有在我结账的时候才会用到另外的四张表。再说一遍啊,在我们前面,我们比方说翻页呀,看书的详细信息呀,操作购物车呀,一张表就可以了,只有在结账。以及我们说的以及吧,以及这个,嗯,查看交易记录的时候,才会用到另外的四张表。
13:00
啊,搭建环境加C3P0加优秀加GSTL其他的呃,我们用的时候的加就可以了,这个加这些基本信息的话呢,我们是会讲的,13P0这个我们就不再阐述了啊。
我来说两句