00:00
好,添加功能完成以后呢,我们做第二功能,第二功能呢,也是这里边算是比较复杂的一个功能,哎,我们一运行这其实是个查询了,需要呢,我们去输入是准考证号还是身份证号啊,你要写的AB都不是这块呢,还提示你有误,让你重新进入程序来看一下啊。嗯,那这块呢,这是咱们的问题一,这个我就写到下边了,诶问题二这个呢,其实就是一个根据身份证号或者准考证号哎,查询啊学生的成绩信息,哎这样子好,那这块呢,既然是一个查询呢,尤其你看我们这块展现出来的,它这个是这个样子的啊,诶那我们这块呢,也可以封装为一个类的对象,这块呢,我们叫exam student这个表,咱们这块呢,就可以把这个类呢,你叫exam student也行,或者呢,我就叫两个student也没问题,就这个表名跟类名呢,也没说非得也一样啊,那我这块就起成不一样的了,我就叫做student。
01:08
这样子,那么接下来我们给这个类呢,要提供它的相关属性,这时候呢,我们又在遵照一下OM的这个思想,哎,我们去提供这里边呢,提到了它的一些相关的字段,嗯,这个字段呢,下边这有六个,加上一个ID,所以咱们怕记不太清楚,咱们把刚才那会的这个啊。诶,CTRLC一下,哎,这个呢,我们站到这,那在这个基础上呢,又多了一个叫流水号,哎,这前面一个叫flow ID这个啊。行,那private,嗯,绿号的话,咱们就一个int性接收了啊补ID,嗯,然后ID card,呃不是先是tap啊,诶这个tap的话呢,我们看一下它这个表这啊改变表看这不能看到,这也是个int型。
02:01
嗯,这样子,然后private string类型。嗯,这个我们叫呃,ID,这个ID card,这个ID呢,I就大写了啊,因为它也是个缩写了,嗯,死string类型的,诶exam,诶,Card,哎,Student,那这个我就叫内。我就跟他不一样,哎类型的哎location,那这个grade成绩成绩呢这块哎也是个特型。行这样的几个字段,这个不太熟的,这个我们在后边标识一下啊,这叫流水号考试类型。身份证号,准考证号,学生姓名,所在城市哎,这个呢是成绩,哎,可以了,好奥shift的S,诶先先我们提供构造器吧,先整个空单构造器,哎,代餐的构造器盖塞方法全选。
03:19
其实这流水号的话呢,你让他晒晒其实没啥用是吧。不过这块呢,都提供也行,你就是不提供的话呢,你我用反射其实也能做是吧,当然这块我们说封装性的话呢,提前是建不建议你做的事,我要去掉的话呢,杨爱丽就是不建议你去修改他的流水号。啊,这是这样,咱们前面讲反射也提过这个事儿,然后呢,我们再整一个twoth re了。这样全选OK一下可以了,好,CTRL回过来这个连一就关掉了,下边呢,我们来写这个问题,这块呢,我们要是一个查询的话呢,我们还得借助一下之前查询的方法,诶通用的查询方法我们写到这了,此时呢,我们只查一个对象,所以我们就找那个,诶返回一个,呃,记录的就是只有一个对象的这样一个方法,诶把这个呢,我们粘过来到这CTRLC。
04:07
啊关掉,哎,这个我就放到下边了啊,然后在上面呢,我们来写这道问题。哎,这个呢,我们是做一个query。嗯,Query,嗯,With,嗯,With可能是一个ID啊,也可能是一个,哎,我就简写了啊看或者可以加上吧,ID card o是一个,嗯。这个另外一个呢,叫做exam card,嗯,行,诶我们按照什么样的去查,那这块一进来这块提示呢,说你先有一个输入信息,说请选择您要输入的类型。这样,那这块呢,A叫准考证号,B身份证号。
05:09
A点。准考证号。没有冒号是吧,哎,B点深份正号行这就可以了,然后呢,我们就等着用户呢去输入了,所以我们这块呢,去new一个哎scanner system.in。诶,在这CTRL1得到一个scanner,然后scanner.next的方法。那这时候我们去调一下用户到底输入的是一个什么,这个呢,我们获取到用户的一个选择,哎,它的一个selection是吧?嗯,这个selection呢,可能是A,可能是B,也可能是其他的,所以我们来一个equal无判断,哎,说如果你这个selection第二啊叫equals,那equal的话呢,我们也忽略大小写啊,你可以写大写的A也行,如果呢是小A,哎怎么着啊,Else if这块一写的时候呢,大家要小心一个问题,就是我们凡是这种写的操作呢,都不建议这样去写,都建议反过来,也就是说呢,先写这个。
06:21
哎,对,Equals啊,Ignore case,然后把我们这个selection呢写到这里边,知道为啥不,哎对,这个时候的话,我们写法是能够避免控制人异常的,因为这个明显不空嘛,而这个呢是有可能你这个字符串是个闹,万一要是闹的话呢,这个你间状性就没有我这个好,哎,你这块呢报控制异常了,我这块呢顶多报一个false。哎,所以这种写法要好一些啊行,那在这里边我们诶去进行判断,然后呢,这个是选的是B的话,点equals ignore case,忽略大小写的情况下呢,诶只要你跟小B长得一样就行,然后还有一个else,诶先把这个else呢先搞定啊else这块呢,提示的说您的输入有误,请重新进入程序。
07:09
有误行,重新进入程序,好这就可以了,然后下边这个中心呢,我们就来解决这个A和B的问题了,这个A的话呢,输入的是准考证号,所以我们紧接着会提示你说这个请输入准考证号,哎,然后呢,你要选的是这个B的话呢,就是叫请输入身份证号,那这个咱们就先写其中一个了,请输入准考证号,这个是咱们这个A的这个选项,那接下来呢,用户呢,就会输入一个准考证号,我们还是用现有的这个scanner调用他的这个next方法,呃,因为中号账号我们用的是一个字串来接收的啊,这个呢,我们就叫做exam card了,好,那接着呢,有了这个号以后呢,我们会写个搜Q语句,进而的话呢,使用咱们下面这个叫get in instance这个方法进行查询啊,CTRLC调用它,调用它的话呢,我们需要告诉我你要这个封装。
08:10
分为哪个类的对象,哎,咱们这不就是student吗?第二,诶,Class好,下面呢需要写一个circle,哎,Circle呢,我们看一下啊,此时呢,我需要做一个查询,Select,从这个结果上来看,举他这举了个例子,嗯,1234567啊,这每个字段都没少,那相当于都给查了一下,那咱就一个一个来写,首先呢叫select,叫flow海D,这个大小写其实倒都还好,是吧,就是我们这块呢,在我们数据表当中,你这块呢,Flow ID,虽然它写的是大小,但大写的,但是我们这块呢,其实写成个小写倒都还没事,关键呢,就是说当你这个字段的这个名字跟我们这个属性名不一样了。这个我们要起别名的对吧?诶所以这个时候要注意一下,那那这块我就这个按数据库里边的写法吧,我们给他整整个大写,后边呢,记得一定要诶整成一个咱们诶Java类中属性的这个名。
09:13
就得一个一个的去匹配。这样行不行?诶这个是,诶往这移一下是吧,然后过来这样没见过是吧,哎,然后tap这个tap呢,它那是一个大写的,咱这写上一个哎tap,然后ID card,这个ID card呢,咱们这个类里边呢,也叫ad card的,所以这个呢,我就不起这名了,其实啊,然后在下面,嗯,它那个里边叫exam card的,在咱这呢是小写的E,然后name,诶name他这人家叫这这看一眼啊。
10:01
Student name name,咱这叫name,然后location,它这就叫location。咱这叫location,嗯,还有一个grid啊,这有点崩溃是吧?Where where什么呢?咱们是想通过叫exam。Car来着,等于这一幅这个有点长这样子啊行,那这个呢,把circleql往这一放,那下边呢,你告诉我你这个咱Carl多少CTRLC诶往这一扔,诶这就可以了。这个没用了是吧。销毁是吧,行了啊,诶get instance,然后这块呢,CTRL一下返回来就是一个student。哎,这样子,诶得到一个他的实力了,那得到一个实例以后呢,咱们做一个输出,嗯,打印一下student,诶保存一下,那这就可以了,只不过呢,这是我们调student的话呢,输出的是我们对要调用的这个叫to string方法了,打印出来的这个数据呢,跟咱们这块呢,显示的这个呢,可能会稍微有点区别,咱们先跑一下看看啊。
11:16
哎,这个呢,我们进行一个调用,哎,出来了说准考证号,身份证号,咱们呢,刚才只是考虑了这个准考证号了,所以先输入一个A,请输入准考证号,咱们先这时候呢,我们说要找不到的话呢,现在没有在这进行个判断是吧?哎,那咱们等一下呢,也加个判断啊,哎,这个呢,请输入重要证号,那我这块呢,要是随便瞎写了一个呢。相当于我们是不是就找不到了,找不到的话呢,是不是就给我们返回了一个now了是吧?反问道,但是上边这块呢,我们再去呃,查的时候呢,这个circle写的可能是有点问题啊,看看在哪这么严重啊,既然from是吧,Exam student,对,亏了啊,再来一下。
12:13
哎,再写个A,这呢,我就随便整了一个啊,哎,这就no,哎就是查无此人,其实是这块,咱们其实可以写个if house判断一下啊,会更好一些,哎,再重新跑一下。来选个A,这个时候呢,我们从这里边找。哎,这个呢,我说考号啊,CTRLC,这叫赵虎。CTRLV,哎,这就查出来了,这就是照户,但是这个呢,显示的效果呢,显然跟我们这里边要求的不太一样。这个事儿其实好办对吧。这个事的话呢,我们只需要呢,在C问这块,咱们改一下这个图方法不就可以了吗?嗯,比如说这块我们上面呢,先来一个输出,嗯,我们这样来处理一下啊,这个叫查询结果。
13:06
嗯,结果然后呢,下边这个return的时候呢,你这块显示的就别这样显示的,就按照人家那块要求的显示,嗯,这块还挺长的,这个咱们也整一下吧,这个我就写成一个新的方法得了,我就要O方法,这个方法呢我们创建一下,哎,这个呢是个私有的方法,然后在这里边我们去这个return一下啊,嗯,看它这个格式怎么写的,这个上来,其实我们这块还是可以把这个给它。找一下是吧,啊这个它啊。到这往这一放啊。叫流水号。嗯,然后呢,慢慢写啊,这个小心一点,60号我们这叫flow ID,然后呢,告诉嗯,四级。
14:01
六级冒号加上。这个叫什么来着,身份证号。像这个呢,其实没什么技术含量是吧,准号证号。这个换下行吧,嗯,准考证号,然后再加一个双引号。学生姓名。Student name啊,这个难句叫name。嗯,然后去location。啊,成绩。嗯,这个呢,哎叫grid啊。
15:03
好,写完了成绩行没啥问题啊嗯,这个写完以后呢,我们就做了一个return,然后在这呢做了一个return,好这回过来这个我们再跑一下执行,OK,哎,这里我们再换一个人,就是阳力啊,CTRLC过来选一个A。诶,请入中考账号CTRV,然后回车,哎,这个出来了,哎,这是我们看着稍微好看一点了啊,这就是一个查询结果,那回头呢,我们要做的事呢,就是把这个数据呢,应该是要显示在浏览器上,哎,那就只要把这个数据得到的这个结果,这个呢,我们要是传student的话呢,就是我们技术里边讲的那个叫序列化。哎,就是你要就是把这个student通过服务器呢,传给客户端或要浏览器,那就得是满足序列化了,但一般我们不这样做,咱们会把你传的这得到这个数据呢,诶比如说你点了个toth润,诶我们把这个to string反应过去,但是一般也不会这样做啊,我们会把它转换成一个杰森。
16:00
诶,特殊格式的一个字符串传字符串,字符串呢天然就可序列化的,所以我们就不用考虑那些问题了,直接把它转换成字符串呢,传过去就行,然后在浏览器端呢,你把它解析出来显示一下就可以了,啊就这样来做啊这个咱们后边讲web的时候呢,要讲的这个技术了,那暂时的话呢,我们就在内存中先去把这个对象呢打印一下,这个对象呢,刚才咱们说了,其实你也可以呢,在这里边有个判断啊,说如果呢,这个叫student,哎,它呢是诶不等于no,那说明呢,你查着了,哎,我们就把这个。诶诶,你就把这个呢给它打印一下,Else,相当于你没找着这个呢,你就可以说一下叫输入有误是吧,输入的这个准考证号有误,诶这就这个问题了,哎,就是咱们刚才那块乱写的一个,其实就会报这样一个信息,行,这呢是针对于叫准考证号,那类似的话呢,我们就可以来写下边这个操作了,我把整个从这到这呢,大家CTRLC一下粘过来,这呢请输入身份证号。
17:05
那身份证号这块我们去输入还是这样几个字段,只不过最后这块我们改一下,这个叫ID card。那这个是它了啊,然后我们这块获取到呢,就是个ID card这块呢,再传进来CTRLC诶传到这。还是你要是输入的这个,呃,得到这个数据呢,要不知道这就输出来啊,否则的话呢,就是身份证号有误。诶,CTRLS来测试一下这个操作啊。诶,直行好跑起来了,这个我们选一个B啊,这随便乱写一个。诶,身份证号有误,行再重新跑一下看,选一个B身份证号找一下,诶挑一个CTRLC过来CTRLV,诶这个查出来了。好,没有问题啊,这是我们说的这个查询操作。
我来说两句