00:00
我们来看一下昨天昨天的这个练习哈,首先呢,我导入数据表,感谢梁耀军同学的这个友情赞助啊。直接这个数据库这里边。执行就可以了。然后F5。打开OK,这就是这个信息,要就只输了一条,一条就一条,不要心第十。100是吧,嗯,挺好,下面的话呢,我们看我们这个说明啊,第一个就是说我可以插入一条student的信息,请输入详细信息,然后是这样看一下。
01:02
好,这里边的话呢,我来写一个JDBC,刚才呢,我们复习的时候已经写了两个方法,在这里面两个工具方法,一个是获取connection,一个是释放数据库资源,我们把这个类给它抽出来。看方法一稿要获取数据库链接。没写呢。干C啊,因为是一个工具方法,这说加上一个看着看着这个非常难看啊,CTRLCX格式化就可以了。
02:13
第一个方法,第二个释放数据库资源的。这个呢,里边我们也写过了,复制过来释放数据库资源的方法。在这。C。释放数据库资源的方法。啊,那这个里边的话,你改成为三。
03:08
好,我们再来看一下前面我们讲到的一个什么呀,一个update的方法,就是说更新啊,我无论进行添加删除还是修改这个语句啊,都差不多,所以说我们把这部分方法也复制过来,我们写成一个什么方法呀,更新的方法看他但这。Update什么呢,写个spring好,我们说啊行的方法,那我们这种要求。主要是色update而包含,而不包含什么,包含black black比较麻烦。
04:10
CVCCF,看一下扣不要了,其他地方都是一样的,那那说一下我们这个方法呢,目前应该说是版本一这个里边我每次执行这个方法都需要创建一个connection,这是有问题的哈,在我后门讲完数据源之后,我们可以说有什么问题,但周围目前的一个方法是有效的,过来好了,那第一个叫什么呢?第一个我们看。啊。呃,爱new student过来看爱new student OK OK,哎,我们好好看看这个练习哈,这样题形成一个方法。
05:01
说我要新加一个学生进来,我们当然可以。怎么写呢?就是真的从数据从这个控制台读入这样的一些信息,然后把它插入到数据库里面,但是啊,我们现在我们来看一下这张数据表有什么呀?有ID type ID card exam card student name location等grade,实际上这个是不是可以分为一个类呀,我可以建立一个类叫student来对应这张数据表。再说一遍哈,我可以建立一个类student来对应一张数据表,于是这个代码可以这么写。你写一个not,我们说一下思路啊,第一个哎,我们说我们降数据表,降数据表中。
06:16
插入一条,记住OK,怎么插入怎么插入,我们这样想。D新建一个方法,比方说这个方法叫student OK,好,那这个方法的参数应该是什么呢?我要新建一个student,新加一个student,我传一个student啊对象进去,我要把这个student对象。插入到数据库里面。把参数student对象插入到数据库中,好,这是一个,好,那我如果要是这样插入的话,这只是一个方法啊,叫I student,那这个时候我们需要干什么呀,需要新建一个。
07:26
Student还有什么对应?Exam student student数据表这一块实际上就是我们讲到的叫who映射who对象R关型数据库,Object relation mapping。好了,那我这个student长啥样呢?这个student跟数据表的字段是一一对应的,这里边你有什么,那我这边我就写什么,于是我来写一下啊,在这。
08:01
你打吧。有什么呢,比方说有型。ID。有定型的看法。有string型的ID卡,有的exam卡,还有student name,还有正型的哦。还有一个定型的great OK,这就是我的student这个类,这个类里边的话呢,我们说表示什么意思啊。除了ID不是流水号,实际上这流水号的话呢,就类似于ID是吧,流水。
09:09
好,Type考试的类型,考试的类型ID卡,身份证号。你在看看准考证好。这个name学证明地址。地址对的分数。好,哎,这就是我们要见的什么,要要见的,对,这是一个类啊,啊,其他的我们先不写啊,好了,那这个类建好之后的话呢,我们有这样一个方法叫at student,那我们想一下这个at student里边应该怎么写呢?啊,At的student大家想想我有一个什么呀,我有一个student student我要。
10:27
添加一条记录进来,那我前提是我前提是我在这里边我已经有一个update的方法了吧,我直接第一步吗?准备一条circle。语句哪来啊,什么这么起来,Circle等于应该叫insert into数据表叫exam student一个,但student直接写value OK value,其中这个流水号呢,我们现在就输入的啊,我们没有写这个主键,然后写,那知道具体是什么呀,我们说那比方说啊124级,然后的话呢,这是啊,身份证号这么写,身份证号这个是准考证号还有啥。
11:36
还有学生姓名,学生姓名,学生地址和分数,这写吧。看好了啊,挺麻烦的啊,姐来看啊,看一下一对应的是流水号,四对应的是考试类型,这个是这个身份证号,然后是中考证号,学生姓名老我可以选择100好了,那现在这个问题是什么呀?我一四以及这样的一个一个字符串是不是来源于这个student怎么写,你拿引号得拿字符串加吧,student.at这么写吧。
12:32
再加四怎么写字这么写,看着。是应该放的是student.that type啊,OK,再加再加,注意看这个我这个叫什么ID是不是应该在这个里边啊,这样写加加student.get ID啊再来再来,注意它是什么呀,这个是不是单引号结束啊,单引号开始吧,又来一个加谁。
13:14
Student exam。对,这好再来。这是谁呀?Student name student get name student,后边这个呢,再加加他。student.get老黑,好了,最后一个100B加就可以了。
14:03
100是student.at great OK,拼完词后语句啊,长这样,拼这个词口语句挺费劲的,然后呢,第二步简单,第二步要用接d dbc to被挡update方法。执行插入那就可以了。当然了,那我这个是一个方法,那我这个方法来之前是不是得先用一个student呀,所以说这方法之前我们还得有一个步骤,这是一个方法哈,再写个零。
15:03
100。一啊,这个在测试方法中,在测试方法,测试方法的话,比方我们的student中啊,如下几个步骤,第一个步骤。第一个步骤,第一个步骤是什么呢?这个顺序应该。隔一下啊,X放在第一步。新建一个它第二步应该是它这是第三步啊,第一步我们应该先是啊,过去从控制牌控制台输入的Q整的对象。
16:02
第二步要用a student。Student方法。执行二,放手。那这么说的话,那第一个应该怎么写,第一个我们这样来写,说student等于。从哪获取呢?控制台获取。啊,什么呢?走啊,那我们还干什么,我们是不是需要新建这么一个方法,那个控制台输入一个学生信息啊,哎,这是我们的一个基本的步骤,当然你也可以写一个方法全放出来,然后一个一个分,那也行,好,那我先来写吧。
17:10
那我首先呢,先需要来干这样一件事,先需要建一个student,这是要写student OK,这个信息我已经写好了啊,我直接复制过来跟怎么对的,跟我这个数据库对的信息来。这个C。啊,当然会有对应的概率的方法。
18:05
还会有一个构造器。还会有一个无餐的题,还会有一个来做测试。你说F格式化,OK,写写完之后的话,然后到我的这个里边来看啊爱的先看这个方法吧,Student。好了,这个呢,基本上刚才已经写过了,怎么写的这样。Clc来这。啥啥意思呀,那我们看哈,这块应该是少了一个,少了一个他。
19:22
写完。看啊。应该是少了一个什么呢。嗯,色into,这是一个结束Y哦,这块这块没有是吧,嗯,写完写完之后呢,我们一会可以来打印一下这个口,然后再有一个方法叫public list I的new student怎么写两个说先获取一个student对象。
20:02
等于student from canceled。CTRL1用一个方法,然后呢,爱的吧,好了,然后这是一个测试方法。他是什么方法呀,这是一个这种方法啊,这是从控制台从嗯日台输入决胜的信息啊,这个用什么用斯干。Scanner。
21:00
点进,然后呢,创建一个student对象。对象进行返回就可以,然后怎么整啊,这看一个一个出入啊。分别是点在第一个ID id.next进。ID。这是第一步,好了第二个。Student thatd的下一个是啥?对,Tap in制型的scanner.next in来三号他,哎,看看就等着点赛他。
22:15
A,撸串啊,SC点啊来sit。ID卡。下一个student.set exam点再来without。Exam。Do点算下一个啥do name吧,是吧,Do name的点。
23:02
3.next。好了,Student name下一个。在location吧。Can next。来。再来student and that read吧,没有别的了,干干干点。然后的话呢,平行书这么说啊。
24:04
I'。好,说完都文字返回完之后就行了,看看效果啊,好好使ID,二看自己ID card2111211976。12月12号2345在看19970909。大连。
25:03
哎呦,是不进来了,说这样这样这个就搞定了,这就是整个这个过程,大家写的话呢,有能是怎么样,你有可能是一招写在一个方法里边,这个时候我们需要给它,呃,进行这样的一个格式化一下,就是说用面向对象的方式,首先啊,我从控制台获取一个student,然后我们就要用这个爱的方法给它插进去,其中比较恶心的是拼这个色狗语句很恶心,我打一下,大家看看一下吧。想到了是吧,这样拼这个SQ语句是不可思议的,所以说后边我们会有很好的解决方案,不去这样拼,但是在没学那个之前就得这样拼一下,起码我们要知道这么做很麻烦,然后我们才会珍惜后边那个比较好的解决方案,再看一遍来三六级。
26:13
二幺幺幺二幺幺九七五十二月12号434561992090967。分数90好,我们看这四个语句C,这个四个语句呢。大家看看insert into exam student value36,大家看这个时候这是不是字符串啊,这个字符串应该在单引号里边吧,啊,字符串字符串字符串或者是一个值,这个就是我刚才那么拼来的,如果你要是不像我这样拼的话,你要自己去一个一个加单引号,能加崩溃了,那怎么拼的呢?我们可以再看一下啊,嗯,我再写给大家看一再看一遍来。
27:23
不能这么写,Exam student value,然后确定。然后结束是吧,确定第一个是呃ID。我们找这个顺序啊。看ID type ID card,第二个是啊,Time ID card,然后是exam card,然后是student name,然后是location,然后是是这写吧,好了,一个一个加,看这这个需要专门的一个值。
28:08
加这个,这样加下来加什么呢?student.oid再加好了,是不是要加这个四啊瞅着。拿下来这个字是多少呢?第点点at吧。哎,再加好了,注意我下一个到ID cup这里放在引号里边啊,加两个双引。Student'点at ID OK再加注意在哪个里边,是不就在这个地方,这个时候这个引号和这个引号是什么,是不是我这个ID卡的所在,两边那两个引号啊,是哪哪两个,这两个吧,这是一个头,这是一个尾,这是中间的,所以说后边需要这么加,哎,你讲啊。
29:22
这家这家伙还说假是吧?student.get exam卡看一下。再打开student.student name盖甲。不高,像不像我这样加的话确实容易崩溃啊,多点盖啊。
30:03
Occasion看一下后边这个好就点get好哎,整个这个最后一就这么拼,那这样打完之后的话,这个思数就是成型的,那这是我们这个方法好了,那整个的话呢,给他用面向对象的方式做的话,就是首先从控制台输入一个学生,然后把这个学生弄到数据库里面,同学说老师你中间放student干啥呀,是吧?啊,我用student把这个学生信息给他封装起来。当然这不是一个独立的操作,我们马上会看下一个操作,操作是什么呢?他说从数据表获取学生的信息,那我获取之后的话,也应该是一个student的对象,然后把这个对象进行输出,好了,我们看第二个哈,这块有一个准考证号,身份证号,女士过来,来看你怎么写public test。
31:15
啊概student看它这分几步呢?第一步第我们想是吧,就是来一个事之前,我们先想这个事分为几步能够完成,你可能一次想不明白,你就想两遍,两遍想不明白想三遍,总总之我们会把这个事想明白是吧,看第一个一个首先的话呢,这个步骤应该是这样的。我先需要接受用户的输入吧,或者说我先要打一个信息接受用户的输入,然后的话呢,我去查,查询之后的话呢,我再打印消息,无非就是这样的几个步骤,所以说第一个我先需要接收用户的输入,输入的结果是个什么呀?是个A或者B,或者是不合法,所以说我应该是先得到一个这个呃,查询的类型。
32:16
好了,先得到查询的类型,你用什么查呀,身份证还是准还是准考证印看。设是吧,它类型等于设on pencil走。创建一个方法干什么用的呢?说从控制台。从控制台读入一个整数什么,确定要查询的类型,好了,那我们说吧,这个要是1%的话说用身份证查,用身份。
33:14
这查询二呢。用准考证号。准号证号查询,然后其他的叫并提示,并提示请用户重新输入。心啊这块的话呢,会返回一个值,那于是那个值搞定了哈,值搞定之后的话,我要怎么了,我要拿这个亲自的去做一个查询。我要查呀,查个什么student student等于有点这只去查了是吧,这吃嗨。
34:11
哎,这是具体查询学生信息好了,后来这就是啊,具体查学生信息的,具体查询学生信息的,然后什么了,返回一个student对象说,若不存在则返回。No,有的话就反复闹呗,那它是什么呢?是一或者是二,一代表什么,二代表什么,我就说了啊啊好了,三是什么呀,打印学生。
35:03
继续。么写对打印吗?啊,就是打印学生信息好了,答案学生信息怎么打印呢?这看一下,你看同们看一下,有有可能有有可能没有吧,我输完号之后的话呢,有可能有有可能没有这个A和B,然后的话呢,我在查询的时候是还得输入一个号啊。这个号在另外一个里边哈,说这个号应该是在这个方法里边,这个时候我在查的时候,我才需要输呢,好了答案学生信息的话呢,应该是这样的,就是说我查完之后的话呢,有可能有,有可能没有,如果要是没有这个结果的话,说查我死人,如果要有的话,打印出来过来。这么写说,如果有说若学生存在打印,其具体信息都不存在,若不存在怎么了打印?
36:17
叫查无此人行了,反映这个信息好吧,那我们一个一个看吧。这个应该是简单的scan输入一和二重新的,这个应该是简单打印,这个没啥哈,这个有点麻烦,这怎么做呢?再看再看第一个步骤啊,第一个那根据输入的设置APP,然后怎么样提示用户,提示用户输入信息什么提示啊。
37:01
1.1若设置type设置为一,提示什么提示,请输入什么信息啊,身份证号,身份。账号好了,若为二,后为二提示,请输入准考准号。好OK好了,这个完之后的话呢,然后呢,根据这个search time。这是看确定什么,确定C口吧,你是要确定一思口一三执行什么执行查询,四说若。
38:08
存在,呃,查询结果,查询结果,然后呢,把。查询结果封装为一个student对象的,我们这个我们说最后一步的话呢,都是若存在结果不能类students对象行了,回来到这块,我们整个这个步骤就写完了,分BY万哈,一个一个看,第一个得到查询类型控制台注意一个数,这没问题吧,然后值得注意的是。值得注意的是啊,这个方法如果输的不对的话,请用户重新输入,那用户重新输入的话,那我这个程序是不是怎么办,我只有是一和二的时候才继续,要是P叉的时候是不是不要继续了是吧。
39:18
这个方法嘛,是吧,你看说纯,但是我这里边我没有什么,我是不是没写异步判断呢,这时候怎么写,我没写异步判断,我可以这么写,一个一个来哈道。哦,这个请输入查询类型,请输入查询。先等一下,我把这个呢先拷出来,一会儿大家来写一下,OK,请出入查询类型,然后的话干的。
40:18
好吧,他这类型,然后没写完的哈,说一代表什么,二代表什么一。身份证查询。好,写完然后解吧,In I等于3.nextin输入一个输入一个,然后的话呢,我们看T问题是什么呀?这type有可能是其他值吧,说如果type不等于一,而且。
41:02
或者吧,是吧。应该这么写,什么写不知道,不是一,也不是二。而且吧派也不等于二,该这么写吧,或者应该怎么写,等于一或等于二吧。对吧,等于一或等于二是合法吧,不等于切不等于二是不合法吧,第三请重新输入,输入有误是吧?输入有误请重新输入啊,但是呢,我这块我在最顶层这块我是不是没有进行判断啊,我们我我我没我我没判断这个结果吧,这个时候我需要使整个程序中断,换迎出来看比三什。整个程序中券我也加东西了,整个程序就结束掉了,OK,这个写完,这个写完之后的话呢,第二个我需要查询学生,查询学生来吧,有可能第一有可能这样,我先写个circle口,写个circle口都长啥样呢?顿的circle等于next flow ID。
42:25
Hi ID card exam student name。From。Where好了,后边这个where是什么时候不一定啊,因为然后根据这个一和二决定着是什么什么等于啥吧,这个不一定,然后说吧,说if啊,If有什么呢?如果设置type等于一的话,请输入括号,请输入。
43:18
准好。正好好整一个真的。等于。三呢等于六,三呢七等点一,八等于3.nextok,说完说完之后的话呢,Circle等于什么呀?Circle等于circle加B,那是不是写个半啊exam。
44:06
Hard等于。要不然已经留空格了啊,等于啥呢,等于根号不等他呀。加加exam啊,是这么写好了,1/2,要么是二嘛,这也没有。下来。这是身份证号,身份证号好了,叫ID卡,写完好了,字数已经确定完了哈,上面。工人确定完了执行查询吗?查询?查询的话呢,我应该是用circle去查到一个student来student student等于get传入一个circle。
45:07
创建一个方法好了,那我把这个student返回就可以了,根据根据传入的车口返回。就等着对象咋写啊。我几部呗,什么。那这个时候的话呢,有点麻烦,我们刚才写了一个什么呀,写了一个这个可以通用的update吧,我们能不能写一个可以通用的钙的方法呢?我们下午来说哈,带一个是statement。下一个是。
46:01
刚在。哎。就错点,有鱼常抛一下。Return。有点。什么里边就写等于PC,然后呢。Statement是不是直接整就可以啊,跟以前都一样啊,Click,然后that等于connection,是啊,点query吧,Query circle,然后应该这个if判断吧,是吧,可能会有下一个嗯,Next有一条吗?按这个方括号啊,那么如果要是有的话,Student就要等于6STUDENT直接直接这样整了哈。
47:40
外卖慢来。第一个YD这个行吧,点that in。Ex。
48:00
三。在字。That。在在在写完就完了呗,然后最后一个是什么了,最后一个是打印在这儿,If student不等于好打了啊。
49:14
第叫查我此人,查无此完事好。哦,这个往后没写三不重新输入了。中指再来。写个一。中考中考。嗯。
50:02
这是近期吧。再来来写个一。网上随便写,没有吧?来。身份证号。看看到底哪年生的哈啊,12341234啊。这一的信息吧,是吧,再来说一个二行了,这于写完了吧,就是整个的,当然了,我们这里边是分层次了,大家可能第一次感觉,哎,还能这么写是吧,很多同学都是在一个里边写的,那写完之后的话呢,你也会感觉到一个里边写这个方法是不是巨长啊,所以说哎,我们给他分步骤看看这个步骤重新归结一下啊,第一个啊,先得到查询的类型好了,得这个查询类型的时候。
51:05
点一下看。你看它什么呢?说哎,我首先提示一个输入,然后输入了,如果输的要是不对的话,告诉他有误,我是不是抛了一个异常啊,这个异常一抛的话,是不是意味着我在这块这个程序是不是也结束了呀,所以说后边不需要判断好了,这个说完之后的话呢,下一步我拿着数这个一和是二来进行查询,首先我需要拼一个SQ语句。拼一个circle口语句好了,那就是啊,如果是一的话,就这样拼,如果要是这个二的话,就这样拼,拼完之后的话,我拿着这个circle口去进行查询,就是一个简单的查询操作了,没有更多需要说的,你讲的好,查询之后的话呢,把这个给返回,然后怎么了,打印一下,打印一下说如果是空的话,打死人,有的话给它打出来,这就是我们的查询操作,我们使用了面向对象的基本思想,怎么叫面向对向的基本思想呢?比方说其中最显著的一点就是我们这个数据表,我没有是一个字段一个字段的,那么说比方说flow ID呀,Type啊,而是把这些封装成了一个student,跟对象这样来说的,这就是面向对象。
52:32
有同学可能看到网上的一些操作老师,貌似他们还有一个接口,还有一个DAO那个我们后边讲不要急,先把这个先搞定。
我来说两句