00:01
好,那接下来呢,我们再来给大家去讲我们啊,还有最后一个,也是比较重要的一个啊,呃,现在我想实现这样的效果,我还是呃去查什么呀,去查我的这个员工,呃,但是这一次查呢,我就不是不给你传条件了哈,我传的是什么呀,盖着emps by什么呀,By ID啥意思呢?我给你传个集合,这个集合里面呢,我放了几个员工的ID啊,比如说我在集合里面呢,放了三个员工的ID,那么你就把这三个员工啊,三个ID所对应的员工给我查出来。明白吧,就相当于我给你传了个几何理解什么意思了吗?好,来吧,我们来写一写啊。好,那么这就是一个查询啊,那么查询的时候来方法名字写到这个位置,最后呢,返回值呢啊直接使用还是把我们这个employee呢,给它拷贝过来啊,还是用的是它啊,那问题是接下来这个位置我们应该怎么写啊。
01:03
比如说现在我给你几个ID哈,就是给你啊啊100110021003啊这三个ID呢,直接封到了这里面了,然后呢,你帮我去查怎么写啊for啊for是吧?啊应该都猜到了,我们先这样哈,我们先来分析一下这个so语句可以怎么写。呃,Select我就不写那个具体的字段了啊from这个表是不是为什么呀,ID怎么写啊?哎,大家应该都能猜到是可以使用这个硬吧,然后呢,这里面的话,你就想办法把你的ID是不是都放进来就可以了,对吧?或者说呢,呃,再笨一点的话就是怎么写啊。IID等于什么or ID等于什么在or ID等于什么?是不是可以这么写啊,对吧?OK,但是呢,这两种方式不管你怎么写,我们现在的问题就是如何把这个集合里面的数据给它迭代放到这吧,或者说呢,诶,如何把我们集合里面数据给它迭代放到这吧,能明白吗?好,现在就是我们的一个问题,OK,那这个问题怎么解决呢?我们需要用到一个for each。
02:11
那你看好了哈,那比如说呢,我现在要查的就是ID last_name email gender from,我们的t BL employee,好,Where ID,注意in,好括号,括号里面的内容是不是就是我们希望能通过什么集合迭代生成的吧,对吧?所以说呢,在括号里面呢,我就要进行一个for的迭代了,明白了吧,那么这个for怎么用呢?它里面的东西特别多啊,大家来注意。好,那最后一个那个index我们不用去管它啊,好这么几个大家看一下分别是啥意思啊。比较多是吧,但是呢,都比较好理解哈,我来给你解释一下啊,那我就解释到呃,解释到这吧,好吧。
03:05
好,这个分别是啥意思呢?来听我讲collection。啊,我写到上面吧,要不都写到这so后L语句太长了是吧?写到这个位置可以吧,写到这个位置啊,就是我们的for它的用法啊,Collection它是什么呀?指定要迭代的集合,好,Item就是什么呀,当前从集合中哎迭代出的元素OK open呢,它是一个指定一个开始字符,Close呢,就是指定一个哎结束字符,而这个separateator呢,就是我们下面看到的这个seto啊,Separateator这是元素与元素之间的分割符啊,分隔啊,应该是分隔符,明白吧?哎,就把它写出来了,那分别是啥意思呢?啊,我们得边写来边给大家去解释啊,首先现在我要迭代谁啊?是迭代我传过来这个集合呀,好吧。
04:12
啊,那我来问大家集合怎么取啊。历史。啊。集合怎么取啊,我们是不是讲过,如果对于这个collection集合的话呢,就使用一个小写的collection吧,如果你具体就是一个list的话,那我是不是可以使用一个小写的list呀,对不对,所以这个位置我应该怎么写呀,你应该直接写list明白吧,或者说collection。明白了吗?但是我告诉你这两种办法,这两种写法虽然说是可以的,其实都不好明白吧,所以说我们希望大家注意啊,虽然说啊,就是我知道你一定要封装卖好,那我就可以怎么着啊。是不是通过我们的圈是吧?P是不是通过我们的注解,是不是可以给它指定一个K啊对吧?我知道你要封装map,那我就可以指定你封装map的时候使用的key嘛,好,那我把这个东西往这一指定,那么指定好以后呢,我再去取值的时候,我这个位置是不是直接写ID啊,那你来看一下这个可读性是不是比要比刚才要好很多了,我一看,哦,对应的就是我传过来的这个ID,当然了啊,这个前提是我们要加上哎,加上一个这个ID的,明白了吗?OK,好,所以说呢,大家注意啊,我们在取集合的时候呢,就最好还是使用我们的命名参数,明白了吧?OK,好,那拿到这个集合以后,接下来我要进行迭代了,每迭代一次呢,我都会迭代出来一个元素,那么这个元素的话呢,我们需要给它个临时变量啊,比如说current ID就是当前的一个ID嘛,对吧,我就把它复制到我的这个当前的ID上面了,好那么其实现在。
05:54
我们就可以去使用了啊,你来看呃,迭代出来每一个呢,其实它就是我们具体的那个ID了吧,我只需要把这个是想办法放到这个括号里面就行了吧,OK,怎么放呢,注意取元素的话呢,我们得这么做啊。
06:10
这个for里面啊,差点就写错了,好取元素的话,我们应该怎么写呢?还得井号大括号去取,理解吧,还得把这个东西呢,通过我们的井号大括号把它取出来,明白了吗?哎,把它取出来啊,好,那么取出来就放到这,但是你这么光这么放也不行,为什么呢?因为我每一个元素与每一个元素之间是不是还有一个逗号分隔符吧,那么这个正好就是元素与元素之间是不是有一个分隔符啊,而这个分隔符我们怎么做呢?哎,你就使用这个S,你就写个逗号,那么它将来就会在你这个元素的后面呢,加上一个逗号,再来一个元素,如果是这个元素后面没东西了,它是不会加那个逗号的,明白这个意思了吧?OK,好,来吧,那这个其实我们就写好了,那么对于我们这个open的close来讲呢,其实是用不上的,如果你非要用,我也再给你用一下,这个是啥意思呢?一个是开始字符,一个是结束字符,那么就相当于我迭代完以后,我的这个S语句前面我可以指定一个。
07:10
开始字符后面我可以指定一个结束字符,那我就可以怎么做呀,我把左半拉括号搁搁到这,右半拉括号搁到这儿,或者说呢,我把这个也搁到这啊,把这个也搁到这啊,这都可以的开始字符,那你看我迭代,迭代完了以后,我在前面把这一堆加上是吧,但是很明显这么写的话,你这就不好了吧,对吧,所以你就直接啊,要割的话,你就割一个什么括号就得了是吧,别的你就不要割了。听懂了吗?来,这样我们就把它写好了,来吧,最后呢,我们来测试一下,看看跟我们想象的一样不一样啊,好,回到我们的测试方法这个位置,再来拷贝一个方法,测试我们的for啊for啊,然后呢,呃,在这个地方的话,我们来写一写啊,它就不要了啊,我们再来写一下啊,Map get就是它啊。
08:15
最后呢,返回一个集合employee的啊,Emps等于它,我们来输出一下emps这个ID呢,它是一个集合,ID等于又一个a list,然后呢,A好写到这,嗯,在这里面怎么写呢?那就是ID角ADD,比如说我们查哪些数据啊,我们来看看哈,数据还比较多,比如说就是这个啊02030405吧,好吧,多写几个啊1002。好,1003AD啊,1004 OK 1005,好,这就都写进来了,那么接下来我们就来看这个so口语句了,好,运行一下,好,首先我们能看到0203,然后呢,这个0405都查出来了吧,再来看这个so烤有菌跟我们想象的是不是一样的,你看一下这个迭代出来的一样吗?诶,一样的。
09:16
啊,所以说你看一下,如果说你把这个操作要放到这个Java代码中去做的话,肯定比这个要复杂很多的,对吧,你起码你得写个循环吧,对吧,写个循环的话,每个在循环里面你是不要去拼接那个字符串啊,啊没有这么方便的。听懂了吗?OK,这就是我们的for,它的一个用法啊。
我来说两句