00:00
下面呢,我们再来看一下查询同学们。好把这边全部关掉,我们再来看一下查询啊,我这边就就我复制一个啊。好,代码零五。OK,那我这个做的是查询。查询所有的库存。好,代码零五,那么第一步。加载驱动我们要的。第二步,获取连接对象,要的好,下面的全部删掉。第三步,编写搜口语句。我们在这边写一下。编写说过一句。好,这个是第三步,稍等一下啊嗯。这个是是是,大家有在飞机上下载东西吗?我这边卡住了。大家可以先不下啊,咱们现在大家只需要把那个价报下下来就可以了,其他的不用下啊,其他什么电子书啊,什么资料没必要啊,没必要下,同学们。要下的时候我会发给大家的啊。好,这是第三步,咱们编写搜狗语句,那咱们要做的是查询,诶查询肯定不能是delete啊,咱们得写一个select的新floor t纲fruit咱们查询所有行吗?同学们,Select from t纲fruit,我们查询所有的。
01:14
好,第四步,我们要去编写预处理命令。预处理命令对象。好,就创建。预的命令对象啊,connection.statement把搜狗就把它放进去,好创建一个PST。再来,请问要填充参数吗?不要吧,咱们这个社会语里面没有问号是吧,同学们那行吧,咱们就先不填充参数啊,所以我们就直接执行查询。执咱们之前执行的是更新,诶执行更新返回的是影响行数,现在我们是执行查询返回结果集。啊,它返回的是结果集PSMt.XQ的qua。表示查询。
02:01
Corry这个单词表示的是查询,它返回的是结果集result set,我们称为叫S。好,我们拿到这个S之后,下面一步我们就要开始解析了。解析结果集。好了,那么select新from t fruit。我们看一下那结果应该就是这个结果,稍等一下啊。嗯,我要截个图啊。来截个图,好,截这个,把它截过来,这是我们查询到的结果集。根据C,那我把它放到这个,嗯。花的工具被我关掉了啊。打开。好,我把它放进去。好了,其实同学们这就是一个S,这就是一个结果集啊。好,我们称如叫result set。那么这个结果集呢,这个小箭头呢,我们看一下啊,这个小箭头啊,它默认情况下,它指向的是这个地方。
03:07
默认它指向的是这个地方。啊,之前呢,是一个表头。然后呢,我们解析结果就怎么解析呢,注意看啊。While。S next。这个r.next它给我们返回的是一个布尔值。他返回的这个不把值,他的操作是什么?他的操作指的是把这玩意儿往下挪动一格next。那么判断当前挪动的这一行有没有数据记录?有我就返回true,没有我就返回false,能听懂吗?所以这样挪到这行,当前这行有数据,那有数据我就读吗?12345,咱们查询的结果集总共有五列。那我就开始读了,读数据第一列是不是ID啊,那点get in1。一就表示第一列。
04:01
好一。表示读取当前行的第一列的数据。好,Get in,因为。因为当前啊,因为这一列。是int类型,所以使用get。行吗?类似的,如果是死菌,如果是无墙,你就得get他死菌。行不行,同学们。好,咱们写一下子君,呃,叫int。ID把它写在这。当然了,这个get int里面啊。这个get int里面。你除了可以写这个列的第几列,第一列,第二列,第三列,我们除了可以写这个,我们也可以写结果级的列名,注意我说的是结果级的列名。比如说我这边是ID。那行啊,我可以这么去写,同学们。Tfid等于s.gettfid能听懂吗?
05:03
这里面放的就是叫label。啊,放的是这个列名,它也是可以的。好,把它写到这啊。好,Get in这个中也可以写的是列名啊,结果级的列名,为什么我强调是结果级的列名呢?同学们,因为咱们select语句,你是不是select某一列可以在后面加别名啊,其实它指的是那个别名,能听懂不啊,只不过咱们这边没有加别名吗?没有加别名的话,那这个列名是不是就和数据库表当中原始的列名一致啊?啊,就这样的行,得知道我说的啥意思啊,再来fid有了,以此类推,再往下第二个i.get string,那我写FM可以吧,同学们。好。好,咱们这边写一下F。没问题,再往下s.get string啊,Get in,下面一个是价格吧,第三列。好,Enterprise第三列,再往下s.get下面一个是第四列,咱们应该是F吧。
06:01
库存量吧,再往下好像是一个remark吧,盖啊第五列行吧,同学们,这样我就拿到这些数据了。嗯,我这个查询啊,会有很多个很多条记录,那我就在外面定义一个集合行吗?同学们。我在这里我定一个集合list的float,我想把它全部封装到这个list里面去,行不行,同学们。当然了,你说老师那我不封装行不行也行,其实你不封装,咱们就在这边把这五个值把它看一下,其实也可以的。啊,只不过这个fruit呢,我已经搞了一个float的这个对象出来,所以咱们这边就把它封装成float啊,等于6LIST。那行吧,咱们创建出一个float对象。等于new fruitfid price。Fo。I count。Remark。好,哎,咋又报错了呢?
07:03
没有这构造方法是吧,没有这个构造方法,点进去,按住C键点进去。随便点一个,然后呢,咱们这边再补一个out in色的constructor。就这样子。可以了吧,然后再回退回去好。再回退。好,然后呢,咱们把它扔到fruit list里面去,点ADD fruit。行吧,同学们,那这样这个结果集我就把它解析完了。啊,这样我就把它解析完了。这个循环。来,我们再回到图啊。我把这图把它变小一点点啊。放到这。好把它放在这,那么Ys.next当我有这个next方法的时候,啊,同学们,Next方法的时候指的是把这个箭头挪到这一行,有没有出去,有有的话12345我就读取,读取完了之后把它保存到集合里面去。
08:00
保存了集合之后再Y循环。再往下一行,能听懂吗?跑到这边来,那又继续读,读完了之后扔到集合,扔到集合之后再挖循环,再往下一行。所以以此类推,一直跑到这一行。那都是可以读到数据的吧,那读完了数据之后,Y循环s.next跑到这一行了。还有数据吗?没有了,没有数据,我的s.next返回的就是false。能听懂吗?它返回的false y循环就结束了吗?就是这样的。好,这样的话,我就把整个结果结果集啊,就全部都解析完了,那行吧,咱们刚才写的叫第七步叫释放资源嘛。咱们刚才写的是PSMD.close吗?还有connection.close吗?请你现在。把S也close一下。先关闭结果机,再关闭这个小车子,最后把这个connection把它关闭掉。
09:01
行吗,同学们?那行吧,经过上面的步骤,咱们这个内存里面是不是就有数据了,咱们把它打印一下。List点。一起呀,点错了。点for,咱把它打印一下system.out。可以吧,同学们,这样咱们就把它打印出来了,OK。我们来试试。点他,点他。你看一下这些数据是不是都有啊,啊,这样咱们就能全部把它查询出来了,OK,这是我们查询所有的。啊,其中比较不一样的地方,第一个是执行的是查询,诶和以前不一样了,咱们之前执行的是更新,现在咱们执行的是查询,我们以前返回的是影响行数,现在返回的是结果集。啊,这是第一个不一样的地方,第二个不一样的地方就是哦,我们这边得需要去解析这个is对象解析结果集,第三个不一样的就是这个结果集,咱们得把它close关闭掉。
10:06
那行吧,这是查询所有。
我来说两句