00:00
有了这个以后呢,我们就可以真正的来进行天山改查了,这个service写好了,我们这个框架好了哈,DAO写好了,下面我们来完成第一个功能,嗯,查询,这个查询呢,我们分两个层次哈,第一个层次。先不带模糊查询,直接查,然后我们再加上模糊查询,我们看一下,首先我会创建一个index.jsp。Index的粘贴。好了,这里边的话呢,有一个表单form查询用的,那我应该是query点。我们有个什么呀,有。一个。第二。
01:01
CD。两个,第一个。通过查询吗?我们可以按名字查看tomorrow。应该是个眼子。Text your name吧?整个这个。复制复制。第二个应该叫address,我还可以按地址查。还有一个缝,我还可以按电话来查。保存还有一个什么呀,还有有几个按钮。这里边儿的话呢,我们也是两个TD。一个是T加零本身。
02:09
Value查询吧,还有一个是超链接创建一个什么,创建一个新的customer。Create new。OK吧?行,我们先来做这个查询,那这是表单,表单应该放在POS里面,POS请求我跑一下看效果。是不是有carry呀,啊,那我现在怎么样,我现在的话呢,我这里边没有任何的,我们我们说我先不在模糊查询,我直接查,然后怎么样,然后应该是在这个页面的下边,给我把这个信息的官显示出来,是这样吧。
03:09
OK,那好吧,我在这个下边都给我显示出来这两个边,这两个边。好了,下边要不要显示,怎么显示呢?就要看他找到query方法。查询的在这儿。怎么写,我们这里面的一切操作是不都靠DA啊?看具体步骤哈,首先这里边儿我创建一个图形变量。停,跳来。瑞他他妈DA卡他DA具体实现是谁?是不是卡通了DADB是input,这是具体的啊实现好了,这个写完大家看,这个是一个接口吧,这是一个具体的实现类吧,哎,现在我们还有必要去纠结于这个多time。
04:18
用,用的时间多了,你自然就明白生是多态了。回到这个里边来,我们看具体步骤是什么样的。查询目前是第一步,直接调用DAO的什么方法?点get all方法。得到什么呀,得到他妈的集合第二步呢。我是不是要让页面上把这个数据显示出来呀。第二步我们需要把。
05:08
他妈的集合。放入什么里边request中吧,第三步。一定是转发。页面到到哪呢?到index.dp注意一定是转发,不能是什么呀,不能使用重定项,那写吧,第一步,这是一个例子,里边是一个fat。Partner。Control o导进来。等号。然后是request set attribute。
06:01
Customers。然后怎么样。进行一个转发request.request根目录下的in d点官request response,这就写完了。然后在页面上呢,获取它CTRLC获取它来看。因为我们今天没学标签哈,只能这么写list。等于request点这这是谁呀,是不是我刚才放的这个。这里边儿放的,这里边儿拿出来,我需要强转一下。好了,那如果。
07:00
如果什么呢?如果。它不是空customer不等于now,而且customer减size大于零的话,那我就开始写代码了,怎么写呢?这么写这个时候的话呢,我把这个拿上去,我同时再写一个HR11条横线啊写上,写上之后的话呢,我怎么办呢?我需要把信息放到一个表格里边去,这个表格是一个table,然后。第二。然后TH。
08:02
ID。My name。Address。Phone。还有一个啥。还有后边还有一个那个update或者是例写完,然后下边有左转行区什么呀。有多少行,这是不是头啊,后边有多少行是不是取决于是不是取决于我这个集合里边有多少行,所以说又是一个这样代码for循环,这前面我已经判断了哈,我知道哦,这里边是有东西的。来,然后一个一个的。这个结尾。这个开始一个一个的什么呀,是不是一行一行的第二。
09:07
这一行。TD一个一个的。好了,第一个。叫什么呢?B有。ID。That。Name。爱。Address。好了,这里边放了两条链接,A。一个叫update。一个叫比利。
10:05
看效果。好简单。这是一个典型的MVC实现。我目前是不是只有一条数据啊,就长这样,然后呢。People。Self ping0 self speaking10。是吧?一。是这款。就是这么一个效果呀,你回头的话呢,你还可以再加新的,你加一个里边就有一个,我们加一个来。一。Nine。
11:01
北京。13456780099。保存。回来。在刷新是不是这个效果呀,这样这个就写完了,这就是查询。这个就是。好了,我们把查询这个过程的话呢,我们归结一下哈,看看怎么查呢,最开始的这个步骤呢,我已经不写这个步骤已经写过了哈,这个步骤我们首先呢,这个里边实际上这个步骤啊,超级简单,为什么呀,这块我是不是实际上我是不是就发了一个请求啊。画请求到具体是这个方法,这块有三个步骤。CTRLC,我们过来看说查询。抓。
12:04
查询操作。所以这不是幕后查询啊,查询操作好了具体步骤。这样的几步。Three。讲一讲。OK,第一步的话呢,是调用这个方法。就是什么,这些是在里边干的活,然后呢,啊,我们说这么写吧。So,里边干的。然后呢,我们还有一个什么呢?我们还有一个叫DST。VIP主干啥?干什么获取,获取request中的什么属性?是不是这个属性啊?
13:09
CTRLCCTRLV。这个。属性,然后呢,便利显示是不是就完了,哎,这就是整个查询的操作。但着实是觉得它很简单。好了,大家把这个看一下,然后思考一下。我们如何加上这个模糊查询?等一下啊,我们一起来看一下关于模糊查询的问题。怎么查模查询回到我们的这个里边来啊,大家看我是不是填个cartoon name跟个address,填个phone可以进行模糊查询呢,OK,梳理一下啊梳理一下,那怎么进行模糊查询呢?说根据。
14:13
来看模糊。查询怎么查呀,根据。传入的name。Address。放。进行模糊查询好了,我们举个例子啊,比方说例子,比方说这个name呢啊,有个值是A。然后啊,Address这个值是B,就是同学面传入的啊,这个缝的值是三。
15:03
比方说是这样啥意思啊,我这块我传了一个A,这块传了一个B,这块传了一,一个是三,我问大家这个时候那个语句长啥样。Circle语句的样子为为什么样呢?说select必须的name ID,请查ID哈,ID name address phone。From where什么怎么写?百分号百分号A吧,然后是怎么写吧,他们之间是。嗯,交集的关系,而且and什么呢?Address like。
16:01
号百分号B对。Like号多少啊?哎。三对于我这个缝的类型是string形啊,应该这么写。呃,长这样,那好了,那既然是这样的话,我们看一下我们目前这些方法应该如何进行调整呢。目前怎么样。我首先需要。需要在什么呀。嗯。哈,DAO。接口中定义一个。定义一个什么,一个查询方法是带查询条件的get get,目前的方法就是什么get all啊,我这个也是get for。
17:05
List不过是with一个查询条件,他就开始我们这么写啊,Criteria。Customer啊,一个标准的customer,那这个时候是不是得填参呢?参数怎么传,大家看参数师name address还有缝吧,我们可以一个一个传吧。可以一个一个传吧,大家看。比方说我们买手机。就是。什么能不能关没事,哎,比方说我买手机,我想买这个2000到两千五的,你看。知道了,你看这是不全是条件的,比方说4G网络,什么安卓的CPU是高通的。这是什么啊,这是呃,这个内存是两个G的啊,等等等好了,你干完之后的话确实是有。
18:06
哎,这样往上查,那你说这些查询条件我能一个一个的传过去吗?我们应该给它封装成一个对象吧,好一些吧,因为有可能是若干个参数,所以说呢,我们这块我们也来写一下,是若干个参数,我写一个career。CC,我们说一下。这个criteria其中。Criteria。Customer用于封装查询条件都有什么呀?无非就是有一个name address,还有phone。同学会问,哎,老师,你这块用的是name address phone,那你用那个customer不行吗?
19:00
哎,是不是有个卡通啊。我们里边有一个customer,你用这个呗。目前我们这个里边用这个是可以的。说这个是可以的,但是比方说我们看我们这个里边来,我们看我们这个里边,我们在进行这个查询的时候啊,大家看到一个什么呀,这里边儿比方说有些属性并不是这个手机所具备的,比方说这个价格。手机有一个价格,那个价格就是一个就是一个数量吧,啊这边是不是一个区间呢。这个属性就不是那个手机的一个属性,懂那个意思吧,你看这个品牌一定是品牌是手机的一个属性吧,啊,尺寸啊这块也是一个范围,当是一个范围的时候,它就不是手机本身应该有的一个属性。所以说这个时候呢,我们把封装查询条件的做成了一个单独的Java类为好。
20:02
说。在这呢,说哈说因为。因为这个查询条件很多时候。和。这个托曼酶模型和同门类啊,并不相同。并不相同。所以。要做成一个单独的类。好了,那这么一个方法,然后这么一个方法进来之后的话呢,我们还要想,还要想,那我这个方法跟以前比方题怎么写。我目前写的是。他写呢,目前是这么写的,对吧?啊,目前是这么写的,哎,那我现在这个写法呢。我如何来拼这个语句拼写拼circle同学说怎么拼?
21:04
怎么拼circle口,这是个问题啊,怎么拼circle口呢?那于是就说呀,于是我们写一下,我来创建一个DAO,我来发送DA里边写个方法。The public east customer get for east with partner。STEM。创建一个新的类。好吧,我暂时先这么写了啊,这个类的话呢,肯定不能放在这个里边,这个类应该放在一个查询的里边。AO,放这也行啊。Private name private a dress private真的缝好代赛方法。
22:16
加一个代餐的扩照器,因为这个家伙呀,不需要什么反射。可以了。保存,然后呢,我的DAO在这。天上这个方法。快点写吧。Get。就他好了,哎,有这个。嗯。OK。写好这个,写完之后的话呢,我们关心的是我如何来拼这个circle,后边的其实都一样。
23:04
CTRLC,我只要往保定就可以了,都怎么写?Well。Like。问号。And。Address like问号,这and什么呢?Like括号好了,这么写的话,我这块怎么,我这块的国怎么写。他说是问号,问号的话我们就要看了哈,比方说我第一个cc.get那这个家伙可能是空吧,等于空的时候你要写谁呀。等于空的时候,我可以写。
24:01
百根号,根号不是空了,我可以写。百分号百分号。加加加C加CC点。Hey。什么意思呢?就是说呀,如果这个家伙是空,如果要这个家伙没有值的话,我怎么办呢?没有值的话,我就直接这样来查。按照。来,我写星了啊,星from。Well。Name like。我这个写法。百分号,百分号右键跑一下,这是不是也能出来啊。是不是全出来了?OK,我要有一个的话呢。
25:02
对,就有一个就有呗,有一个就有,没有的话就没有。于是这样再来写是不是就可以了,所以说没有的时候啊,我就这样出。百分号,百分号好了,那你要是这样传的话。你要是这样传的话,我们这么写,大家看我这么写,看上去是不是很吓人呢?太长了,于是呢,写能不能简单一点呢?cc.get address cc.get送我们就搞谁呀,我们就搞这个get方法这边不行。怎么写呢?我说。If name等于no,我就让name等于啊,我就让name等于。分号百分号。
26:02
加加。反正我这块我也是一个模糊查询的,我这么写这块我是不是搞定了,我每一个都这么办。CTRLC过来。Address。注意还有一个。放。C。周微周微周微保存我这个里边是不是纯进来啊。还一个。对。
27:00
这个没有啊好了,这样写的话呢,我这个里边就纯净了,那这样写挺好。这样写挺好,好了,写完之后的话呢,这个方法我们需要测试一下。CTRLC,这是一下。All the test。Criteria CC等于new criteria name,哎,我来写一个。我不写了,写个闹。你且这个没有负值,我只负了一个值啊,然后的话呢,我得到list customer。Customer等于customer do点。
28:06
看效果。At。Control save o。再看。没有。名字是K的,貌似有一个呀。回来翻新,名字是。没有了啊,没有了哦。有一个麦克吧,诶没好用啊。名字是K的,咋整的?看时间吧。Like and like and like,没问题,好。
29:03
我们看这个方法的返回值,我来打一个断点吧。刚才那个方法的测试在这儿。的利益。八。停一下,我们看那个纸写的对不对。好了,到这个里边来。CC。No哄no这个是没问题的,然后的话,我们是不是要看对应的这个get的方法呀。就是看不着。那回吧。在这个里面呢,只能是这方法形有问题了。方法。这个是OK的。
30:01
这个我们看过了哈。百分号是吧,都忘加了。你这么写吧。就这么写吧。你不能洗那个呀,那那我like谁呀,那我like的话,我是不是就意味着啥也没有啊,再来这个可以。没问题,没问题,好了,这种方式的话呢,我们就获取完了这个再过到这个里边来啊,拼circle口,我们没有去拼色口,而使用什么呀,我们使用了这样一个方式,说两步哈色口语就是长成这个样子。嗯。刺客雨队长的样子在。
31:00
在这儿。TRC。这么看?CTRLC过来。这个是最后一对的样子,然后呢。我把那个什么找着啊。然后呢,然后哎,我们填占位符的时候,填充占位。服食这个怎么样?为了他好听张玉福的话呢,为老。正确的填充占位符什么呀?我重写了get criteria。
32:12
Three。He k8。Get具体我们看一个怎么重写的呢,是这么重写的,Get头方法在这里边看一个就可以了哈,这样重写拿过来。哎,我们通过这样的方式的话呢,把这个方法给。我们觉得挺方便的。行,这样看,哎,好了,我写了这个改正方法,然后呢,还没完,还没完,这个完成之后的话,我们我们我们还需要去改什么呀,我们还需要去改我的。
33:04
So。修改什么呀,修改。怎么办,我这个测刚才是几个步骤啊。刚才几个步骤啊,我是不是第一步,第二步第三步啊,这个时候怎么办了,我得把。请求的获取请求参数,而且把这些请求参数封装成为一个和customer类型吧,然后的话呢,去的方法去改它看说获取请求参数,而且呢。把请求参数封装为。Here are customer对象,然后呢,再调用。
34:02
对,这个方法直接写CTRL。Control。C这个方法,哎,整个这个过程呢,就算写完了,就是说我们还需要去做一个修改,做哪个修改。和它我在进行查询的时候,在这儿呢,诶我先获取这三个值。Name等于request的点,Get叫name,再来等于request点。快点。Phone。OE好了再来。
35:02
A dress等于request.a dress,然后。得到criteria customer CC等于new criteria customer。就就这么整,这个方法需要改一下怎么写,Get for一传,这就写完了。看一下最终的实现。提示书没有啊。带K的应该是有麦克嘛,对吧,你看我带K的带I的带。九的这个是有的。好了,我带K的带A的没有吧,没有全查就出来,这个带模糊查询,这这个方法就OK了,好了,我们回忆一下怎么做的啊,首先呢,我们还是从底层开始说的,捋一下这个过程,底层是什么呢?指的是DAO,我需要在DAO里边加这么一个方法,其中我们要说明说明什么呀,说明啊,这个封装了查询条件。
36:31
封装了查询条件,这个是返回满足查询条件的例子,这么搞的好了,具体实现在这个里边怎么办怎么办,哎,我确实是写了这么一个一个一个带他的什么呀,Circle口,然后值得注意的是在这个里面。说修改了。
37:04
的什么?方法使其什么使其。使其返回的字符串中有什么呀?这个和它那要么说弱。若返回八。呃,若返回值为闹,则返回啊。若不为闹。则返回什么呢?这个这个同时还加上那个直板。加上加应该返回这个值,我们写个Y,这样Y6就是呃字段的值字对吧,本身的值这样写,这样的话呢,我这一个一个我就可以盯得上啊,底层这样写好上一层呢,上一层呢,So这块比较简单是吧,怎么写的获取请求参数。
38:25
在这。查询诶在这获取。模糊查询的请求参数,这个呢。把。请求参数封装为一个和customer对象,然后呢,调用DAO的这个方法就可以了。
39:00
这是我们整个的流程。大家看一下把这个搞定。
我来说两句