00:00
执行更新之后的话呢,我们要来看查询。查询的话比更新要复杂一些,因为更新我是不是一更新就完事了呀,是吧,我这一更新我也不需要更新成返回值,一更新就完了,那查询比更新要麻烦一点,因为查询会有一个返回值,那个返回值叫result,叫结果集。我们需要学习如何来处理这个结果集,其他的都一样好看一下public结果及at,嗯,这个操作需要分几个步骤呢?我们首先我们简单来说一下这个result跟这个名叫什么呀?Result结果that集合结果集封装啊,使用接DBC。
01:05
进行查询的结果。哎,干了这样一件事就结果啊在这个里边了,好吧,我们看,呃,基本的我们可以来说第一个set如何来获取呢?说调用对象的关RY方法转一个字口。可以得到结果集第一个,第二个我得到结果集之后的话呢,我如何来处理这个结果集呢?我们看一下结果集往后翻,哎,你读完之后这个结果集,这个结果集是个啥呀,这个结果集就是一个集合,或者是得到这个东西就相当于一张数据表好了,这个时候呢,我们会有一个指针指向这个数据表,最一开始的时候啊,这个指针指向这个数据表第一条记录的前边,然后我通过调用next方法,就是往下移嘛,Next的方法往下移这个指针,如果next方法返回处的话,就返回一个,就有效的往下移一个,返回false的话就移不了了,就到底了。
02:21
然后我再可以通过result set的这个GA的叉叉叉方法来获取一个一个列的值。先有一个印象啊,我们一会儿来操作的话,大家会看到,嗯,我返回的就是类似于这样的一张数据表。有一个指针指向第一条记录的前边,调用next的方法返回一个布尔值,看下一条记录是不是有效,如果有效的话,指针向下移一个单位,一般这个单位的的话,比方说我一一个一个单位是吧,这个时候什么了,这个指针指向的是这一条。
03:00
记录,那我如何获取记录的每一个值呢?我通过get叉叉叉,比方第一个in get in1,第一列的值get two,第二个get in,三,Age,或者是age啊,Get date 4date,这样的话呢,我可以获取到一列一列的值,这就是我们的result set。用用啊。Result返回了就是。返回的实际上就是一张。数据表就是一张数据表,然后呢,有一个指针,有一个指针指向数据表,指向数据表的。第一行的前面一行,前面指向这啊啊指向这个位置,然后可以调用,可以调用X方法方法检测。
04:23
下一行,下一行是否有效,是下一行有效有效该方法。返回处切,切什么呢?切指针下移,指针下移,我们想我们讲集合的时候呢,It的时候,我们讲了一个什么呀?Has next跟next吧,还记得吗?它相当于has next跟NEXT2个方法的结合体,Has next看下个是不是有效吧,然后的话就next方法往下移吧,所以说相当于我们前面学到的has next和next。
05:13
方法的结合体相当于谁呀?对象的两个码结合题好了,那我往下移弯之后的话,我如何获取每一行每一列的值呢?就是说这个时候啊,我已经移了哈,移完之后哎,我指向这一行了,那我如何获取到这一行这一列的值呢?可以通过调用啊。指针定位到一行值。可以怎么了?可以通过调用盖咔叉叉,比如这样写吧,In或叉叉column column in获取每一列的值,例如。
06:19
什么呢?比方说get in,哎,第一列就是获取,如果第一列是int型的话,或取第一列的值,或者是get,这这是什么呀?写个name,这是获取啊,列名是name的那一列的值,好吧,第四个啊,Without that当然也就要关闭,That当然也需要进行,就是我们说的全部的在这个里面,那我们写什么呢?我。
07:00
我们是有条记录吗?是吧,获取IDV4的这个,呃,这条记录,然后把这条记录的一个一个信息都打出来,要求哈啊获取ID等于四的。Customer的数据表的信息记录的记录并打印怎么搞?ID为四,那第一步我们看第一个步骤吧,第一步获取。Action,你想明白了是吧,第二步。获取的第三步准备,你有吧,第四步。
08:05
执行查询得到reserve set诱惑什么呢?处理SET6户关闭数据库资源就这么几步好吧,于是的话呢,既然看见这个关闭数据库资源的话,那我在jt bc tools里边我再写个方法,这不关俩了吗?我想问仨。CTRLC,然后是吧的注SS。你照这定来,IF2X不等于那。
09:01
算出来2X减lo y X对么?好吧,这个方法啊,就是说我不但能够关statement跟我还还可以来关,来写吧,那我底下我这里边我需要关,所以说把这什么呢?把这三个放在上。好,那是一个大的再看。容易长1.finally我跟关关最爽的一件事是吧,PC举例子。关了没麦?
10:03
一个。等于GDP或获取statement等于点create statement,准备一个circle口等于。I name email from。ID等于四八之行2S等于。点进来好了,数据资源在这呢,下是什么呀?下就是我们刚才讲的这个set这个处理方式,因为我现在我是不是获取一条记录了,只是只是往下移一个单位吧,前提是我需要往下移一个单位,下一个如果有的话,然后给我们看啊,看我会到的是什么呀,要记录in的行吧,String string date是吧?于是看看第一个in ID等于2S点盖子in第一列。
11:38
啊STRING2s.get你看我是不是两个那个名名这样也可以下一个email email可以写成可以写再来eight eight的话呢,这都可以,都可以我们写。
12:05
跟circle对应的些circle吧,First等于s.get get4in ad。123OK,嗯。一秒OK,跑一下看看效果是不是有了,这就是结果,整个就是这个处理的过程,这里边呢,嗯,跟前面不一样的就是我们又学了一个新的API,叫如何处理呢?我们已经讲清楚了,这是处理一条多条怎么办?多条的话,你不能往前移一个了吧,你是不是得循环往下移啊,怎么写是不是写成一个will啊,好看看多条是不是这样的,来,我写个五。
13:20
硅谷二来1987年12月13号。保存。完了,你今天有保存来了,上底下找了啊,来再看do的话是不是用will啊,好看看答。哎哟,是不是还是一条啊,也可以ID去掉吧,多条,要不的话ID是定义这么一条,好保存看看。
14:08
就是就两个是一个人的,就是一个人的行了,这样的话呢,这个啊块的方法就说实完了,就是这里边我们重点需要掌握的是如何来处理,S看到了吧,怎么处理啊。诶,这个基本的这个原理很重要,看这个图,看这个图再看一遍啊翻过来最开始的时候呢,我这条指针啊,指向第一条线路的前边,你就next的方法,如果下一条有效的话,返回触,而且往下移,所以说我们可以把这个2s.next方法放在if或者Y循环里边两个作用,它相当于it的has next跟next方法的结合体,然后当我定位到这一行以后,我可以怎么办呢?我可以通过get叉叉叉方法来获取每一列的值就可以了。
15:14
关于的全部细节呢,这块我们都看到了,好了,大家把这个看一下,然后然后我们先前我们可以干什么,先前我们可以来进行呃,插入操作,你现在想一下,如果我要是写一个通用的query方法,可以这么写,这个是一个思考题哈,然后同时诶,我可以update,大家也像我这样,呃,去查一下,然后把这个信息给打出来写一下吧,来看一下这个result set,通过调用statement对象的query方法,可以获取该对象result set对象以逻辑表格的形式,就是一张表格,封装了执行数据库操作的结果及这个接口,由具体数据库厂商实现,你像我们刚才说的这一系列操作啊,实际上我们。
16:14
以前讲的什么多啊,继承啊,包括接口都用上了,比方说看来statement再来一个,刚在好跑一下。大家看是不是都是买SQL提供的呀,这块实际上已经用多肽了,但这个时候的话呢,多肽已经侵入到我们的编程风格里边了,我们不再强调我那块用多态了,这是一,这是我们应该达到的一个境界,你像我们现在说英语一样是吧,说汉语一样,你说说的汉语哪句是谓语,哪句是宾语,你会去讲它吗?你要是照着那个语法一个一个刻的话,反倒可能讲不出来。
17:12
好了,那我们这块的话呢,属于面向接口编程,我我也说一下,你看我具体操作的是connection statement site,我放一下接口接口接口,我是不是完全面向这个接口给我提供的方法来写代码呀,至于说谁实现的,怎么实现的,我不关心,只要你给我提供的那个方法就可以了,这就叫面向接口编程,那这个时候呢,我这个程序具有非常的接偶性,你底层是Oracle还是买circlele还是dp two还是circle server跟我没关系,我只需要面向嗯接口给我提供的这个API编程就可以了,所以说上公司很牛是吧,他做的是标准,一流的公司做标准。
18:07
为什么苹果的IOS7出来以后,IOS7那个风格不是扁平的风格嘛,是吧,在业界引起了如此大的关注。因为它是。这个时尚的这个,这就意味着IOS7一出的话,可能很多厂商都会迅速的跟进去用这种风格,设计师吐槽的最厉害,说这个好还是不好,但是慢慢的等他那个你现在是出贝特版哈,等他出了,出完正式版之后,你真正拿到手的话,你就知道他好还是不好,像去年出这个盖13的时候一看。巨丑,他们说这个像一个生活用品是吧,然后一拿到手我觉得,哎,这个手感真不错,好吧,我们还说这个啊,叫面向接口编程,呃,Set维护了一个指向当前行的游标,初始的时候呢,游标在第一行之前,可以通过set对象的ne的方法移到下一行,常用的方法get长插方法,好了,我们看一下这个get方法。
19:25
来啊,随便找一个啊。占时针吧,占date,大家看一个可以传,传一个什么呀,我们可以传一个呃,叫列的索引,这个索引是从几开始啊,索引是从一开始啊,我们还可以传一个string。回推,我们还可以传一个这什么column label,不是column隆label啊,这叫列的别名。
20:08
别名而不是列名,好了这块的话呢,我们通过这样的方式,我们可以把这个呃,Set处理一下,那么下边的话呢,我们再跟大家来来强调一个这个观点啊,比方说大家学这个result set,你首先需要知道这个对象代表什么意思哦,它代表结果集,那于是它就会提供处理这个结果集的一些方法啊,我们前面学的这个statement是干什么呢?适用于执行circleql语句的,于是它就会给我们提供执行SQL语句的方法,Connection是代表一个数据库链接,那数据库链接能干什么呢?它能执行搜狗语句,于是他能够呃,有一个create statement让我们来获取statement到这块的话呢,我们实际上就学了这么三个对象,Statement跟。
21:11
呃,创立一个创立一个数据库表叫exam student,有这样的一些字段说明,还有类型,这个大家这都可以来写一下,然后呢,像这个表里边插入一些数据,我们可以插入两条三条都可以,然后看,首先我可以插入一个新的student的信息,那我在控制台里边应该这样写啊,说请输入考生的详细信息,分别是time ID card exam card student name and grade,如果都输入,都输入正确的话,告诉我输入成功,这条记录成功的插到数据库里面好了,这是一个叫添加操作过来。还有一个什么呀,还有一个呃,查询操作啊,请选择您要输入的类型,A是准考证号,B是身份证号,如果输的要是不对的话,就重新进入程序,输了个C告输的不对,如果输的是A或者是B的话,比方输的是A吧,是吧,就确实输入一个中考证号,底下打印一个这个人的详细的结果,那如果我输入的是A,但是我随便输了一个号,这个号没有的话,就告诉我查不死人,请重新进入程序查询,这是一个查询的练习,后边还有一个删除的功能,请输入这个学生号,说完之后如果没有的话,就告诉他啊,请重新进入查无此人,如果输的要是对的话,确实是进行删除数据表对应的记录也删除成功,OK,把这个一起写一下吧。
我来说两句