00:00
接下来呢,我们就来给大家说说输出映射,咱们之前不是已经输入完了输入映射嘛,对吧?那在这个里边给大家去举了多个例子,就是关于我们的这个参数的问题,对吧?好了,那接下来呢,我们就在这个里边给大家去说一下我们的这个输出映射,那么这个输出映射其实就是呃,我们的返回值的这个问题,对不对啊,那么咱们在我们的这个这边呢,对应的就是result type,那么这个result type呢,我们输出呢,其实是可以有基本的这种类型,也可以使用我们的po g可以使用集合啊,然后呢,还可以去使用map,那我们在这个里边呢,来说一下,比如说我们来说输出这种基本的类型,那比如说我想要去嗯,使用一下聚合函数,对吧,想要看一下球队一共有多少多少个球队,那我们在这个里边就应该怎么来编写,是不是就可以在这个里边写上一个int get count这样子的一个方法,那么这个返回值是不是就是基础的这种类型,对吧?有同学说原来。
01:00
不是用过这种基础的类型吗?原来的时候呢,是自动映射回来的,咱们没有操心过对不对,那现在呢,如果我自己来去写这个,我应该怎么来进行编写,还是省略就可以拿到吗?我们来试试看。首先在这个里边是我们的输出映射了啊。算了,就直接在诶。直接在我们的这个里边来进行编写,第一个呢,就是我们的。参数。好,那么第一个就是我们的get count ID con,好,那么这个里边咱们的circle语句比较好写,对不对?那么这个就应该是直接写上我们的select的count星号,呃,不推荐写星号的话,就直接写主键列就行了,应该在这个里边写上team ID,然后我们在这个里边写上from team,这个里边的我们result type,那我们就可以在这个里边写上啥了,写上我们的JA Java ja.long.in in也是可以的啊,那么我们在这个里边注意哦,它返回的结果。
02:08
注意必须是什么。单行必须是单行,因为返回值这样子就是你只有返回的值的这个结果是单行的时候呢,我们才可以指定为基本类型。在这个当中啊,我们在这个里边写上我们的返回值是单行的时候才可以指定。为我们的基本的类型。好,那么我们在这来测试一下,现在返回的是单行吗?啊,我们现在这个是单行。因为就一个嘛,我们来测试一下哟,所以我们在这个当中再来写一上一个我们的测试往上了啊。好在这个当中呢,直接去写上一个TEST02。
03:02
好,测试的过程当中呢,我们就直接在这写上我们的team map,打点在这get count,它得到的是一个我们的整形的值,那么我们就可以在这个里边来输出一下我们的count值,先来看语法有没有错误哈。好,这样子得到的33条有没有问题,对不对,好,那么我们在这个当中要注意哦,返回单行的时候才能够指定内容,但是如果有同学说老师咱们这个是不是单行单列。啊,那么如果是单行多列的话,你也取不到后边的值,你看比如说我们在这个里边写上一个,再来一个max的。定ID就是最大的这个球,对ID你即使写了它也取不到,听清楚这个意思了吧,你看这是不是就是33,所以在这个当中呢,呃,单行多列,一般是返回值是单行的时候,所以在这个当中,我们在这写上就是推荐。推荐结果是单行单列的时候使用,因为单行多列。
04:09
后面的列取不到。好,那有同学说单行。取不到13,如果是多列当多行呢,如果返回多行会报错,那这个时候呢,啊嗯,会包一场。那么在这个当中,比如说嗯,你在这个里边分个组,咱们分组是不是就会去报出多行来,比如说我们在这个里边写上group by,我就在这个里边group buy一个team name,比如说报一个。Location。随便啊,我们按道理不应该来进行分组,但这不是现在为了验证这个错误嘛,现在我们在这个里边返回的这是不是多行了,因为它会按照不同的这个内容呢来去进行啊分裂,那你看他说我们在这个里边说你看是too many result to exception吧,所以说他说是期待着一个结果啊,或者是空To Be returned,就是返回,但是呢啊,或者是通过select one,但是你返回了31行,因为你有33列,33行数据,但是你有前面30个地址都不一样,但是最后三个地址一样,一分组数据出问题了,所以这就是我们在这个里边给大家去,呃,专门为了看这个异常给大家去写的这个内容,听清楚这个意思了吗?好了,那这些呢,我们就直接删掉,大家了解我们的输出,如果是简单类型怎么来做就OK了,除了我们这种简单类型的,第二种呢,就是去输出我们的什么呀,Pogo类型,那pogo类型的话,咱们之前用的就太多了,是不是。
05:49
是,就是对象类型,比说query by ID对不对,这个是可以的,比如说啊集合也是可以的,Query by all什么的,这些都算,我们就不再去多说了啊,因为你返回的是pogo,返回pogo的话呢,我们result type当中直接写pogo,呃,但是如果你返回的是集合的话,我们这个里边返回的也是集合里边的这个pogo的类型,好了,那这个是第二种,第三种呢,就是我们可以去返回我们的集合。
06:19
Map就不再是list了,听好了吧,那么在这个当中呢,我们返回map啊,我们在这来看一下,一般就是去查询,只有查询表当中几列的时候呢,我们可以将circle的这个查询结果封装到我们的map当中,那么一般呢,是使用map的这个object object类型,那我们在这个里边呢,来测试一下哈,嗯,应该是在这个当中,比如说我们写上一个map类型,那在这个当中呢,我们写上一个object,然后在这个里边也是我们的object,那呃,返回值,那么就是query,比如说我在这个里边查询两列to column com,嗯,好,这个当中呢,我们就直接去查询两列根据,比如说我们查询的是单行两列,那么在这个里边就是int team ID单行两列哟,那么我们在这个里边就开始来去编写我们的这个select内容,好,我们把这个来复制一下吧。
07:16
把这个贴到这里哈,那么我们的这个result type就变成了我们的什么类型啊,是不是就变成了我们的集合类型,所以呢,在这个当中呢,我们写集合的时候注意哦,我们在这应该是Ja.UU,注意我们选的是哈希map,就哈希map,不要去选择我们的这个,呃,不要去选择直接写map吧,我们就在这个里边写上哈希map,那现在我们去查询两列哟,那我们在这个里边就直接写上,比如说我们的team的name,然后呢,在这个里边写上我们的location,然后呢,From team后边不是有一个这个条件吗?那就是where are,我们的team的ID,然后在这个里边去写好了一个ID的值,这样子是不是就已经OK了,那么OK之后呢,我们在这个当中测试一下。
08:06
好在这个当中来测试一下,那我们测试的这个时候呢,它返航的返回的是啊在这儿打点,嗯,刚才叫做什么来着,叫做query to queer y的to com查询两列对吧,比如说查询1001了,那么它返回的这个。值是不是就是我们的这个map值,那么在这个当中怎么来去进行获取呢?那么在这个当中呢,大家就得需要去进行什么直接输出吧,直接输出我们这个map,它是不是能够看到这个结果,好吧,好了,我们在这个当中呢,来执行一下,看看是不是能够得到我们的这个结果。那大家看到是不是,你看key value key value6,这是不是就是得到了这个内容啊,这就是我们在这个里边得到的这个部分,如果你想单独获取它和它的话,那就得根据列名,所以在这个里边就是map.get team name和map.get就是你查询的那两列的名字,听清楚这个意思了吗?好了,那有同学就问我说老师没有参数查询,所有怎么办?就是所有的这个行里边都查询,每行都查询两列,那这个时候呢,我们就把这个来。
09:17
嗯,我们把这个呢,就来操作一下对吧,那我们在这个里边就。我意思特别就是我们不再去传参,你想想不再传参,那你这个怎么办,你一行返回一个map,亲,那多行呢,多行就是绿色呗,所以那就是绿色里边去放map呗,那这个时候我们在这个当中去,呃查询的时候,那就得怎么去写。那你的这个返回值,注意哦,还是写集合里边对象的类型还是哈希map,那么在这个当中呢,我们就是把V尔条件去掉了,那VR条件去掉的时候,我们在这个当中去测试的时候,那我们就再来一个测试,直接在这个里边来输出一下哈,那么我们在这个里边得到的这个是list list不就没有这个参数吗?所以我们把参数去掉,直接在这个当中得到的是不是就是我们的list的这个maps,那这个时候我们怎么做?
10:14
那你得到的绿色的map布斯,那就去变粒呗,所以我们是不是就可以在这个里边写上我们的。It就是去便利我们的集合呗,啊,所以在这个上面写上我们的it,然后在底下我们的ma。P可以吧,好了,我们在这个里边就直接去输出M吧,这个map上面有重复的OK吗?好,我们再来测试一下这个内容。这个底下是不是每一个就都得到了,这个是不是底下那30个内容,这个是我们的。好,上边的那个是我们的第一个内容,看清楚这个意思了吧,嗯,好了,那么这个是我们的第一个查询,这个就是我们的第二个查询,这个就是我们去返回我们的什么类型呀,返回我们的这个map的类型,所以这个大家就了解了吧,说了三种了啊,返回基础类型,返回pog类型,还有就是返回我们的集合map类型,好吧,最后一个呢,就是还有一种类型,就是去返回我们的这种result map,这个比较复杂,我们单独来给大家去说明一下。
我来说两句