00:00
好,那我们刚才呢,咱们来讲了咱们my be获取参数值的第一种情况啊,也就是有单个的字面量类型的时候,对吧?那如果说我们现在呢,咱们有多个字面量类型呢?或者说咱们当前的参数有多个呢?好,大家来看咱们的第二种情况来,如果我们当前咱们的map接口方法的参数对吧?然后为多个时,那这个时候我们应该怎么办?大家来看,比如说我们先来写一个案例,然后我们当前咱们的案例呢,咱们是通过用户名和密码来进行验证登录,大家说可不可以啊,可以吧,验证登录,然后返回值呢,必定是个user,然后方法名咱们就叫做check log,然后这里面咱们应该传输过去一个思俊类型的username,然后还有一个是思俊类型的password OK啊,来咱们。
01:00
下面把这个so口句呢,然后来写一下,大家来看好,OK,然后呢,Select ID跟方法名一致啊,然后咱们的result type是不是应该也是user对吧?然后再把咱们的circle去写一下,From t_user,然后well username等于谁?And password等于谁,对不对?那咱们在这该如何获取用户名和密码的值呢?大家注意,那如果按照我们第一种方式的写法的话,那我们在这是不是也是井号大括号和Dollar大括号都可以用,而且咱们是不是应该是以参数名,然后来获取咱们的参数值,那咱们来看一下到底是不是来啊,首先在这咱们写个username,然后在这儿的话,咱们直接一个井号大括号password。OK吧,然后下面咱们就把这个功能呢来测试一下,好,大家来看咱们也是啊,直接复制一下啊,好,然后这个咱们叫做check login啊,然后check login,好,然后我们要来调用的方法是不是应该也是check login方法,比如说用户名是order me,然后密码是123456 OK,然后我们现在咱们把测试方法写完之后,咱们来一个执行,大家看啊,应该是有的啊,大家看a me123456对不对。
02:32
大家看一下在这直接报错了,它报的是什么错呢?对吧?然后大家看一下叫帮ing exception,什么叫帮顶exception,是不是应该是大家看一下这个S口L语句它都没有输出啊,没有输出说明什么,大家说什么时候才会输出这个S口L语句啊,是不是应该是当我们调用这个方法的时候,然后去匹配到了它所对应的SQL语句,然后这个SQL语句它是不是得首先先来获取咱们的参数值,把我们的circleq给解析过之后,然后才会去执行circleq的,因为毕竟我们刚才咱们看到过这个circleq执行的结果对不对,不管是我们用的井号大括号,它最终是不是在这用问号代替的,还是咱们用的多大括号,直接把当前的这个值放到circleq语句中的对不对?它是不是都得先去解析circle口,而我们当前这个circleql语句都没有输出,那只能说明在解析circleq的时候就已经出。
03:32
问题了对不对,来大家看一下,看后边的这个提示,他说啥,他说parameter参数username not。对吧,他说user name这个参数有没有找到啊,没有找到,那可见我们当前咱们用这种方式,直接用参数名来获取参数的,这种方式能获取到吗?获取不到,那它到底应该怎么去写呢?大家看继续往后看啊。
04:00
咱们学习的框架之后呢,咱们会遇到很多的错啊,然后当然呢,这些错误大家也不需要害怕,因为呢,你遇到的错越多,你能解决的错越多,那你的经验就越高。然后这个大家注意,所以说呢,特别是咱们框架里面的错,然后每当他给我们报了错之后,他也必定会给我们说一会,必定会给我们提供它所对应的解决方案,就比如说大家看他说我们的参数user name没有找到,那我们当前咱们可用的参数是谁呢?叫ARG1 arg0 per1和PER2,那这又是什么意思,大家注意啊,那在我们的买AB的底层,如果它检测到我们当前咱们map接口中的方法呢,有多个参数的时候,它会自动把这些参数呀,放在一个map集合里面,好,然后这个map集合中是怎么来存储数据的呢?它会以两种方式来存储数据,首先第一种以ARG0ARG1为件,以参数为值,第二种以PER1PER2为件,然后以参数为值。
05:14
那所以说我们当前咱们要想来获取我们map集合中,这个map集合中某一个键所对应的值的话,大家直接在井号大括号或都是大括号里面直接来访问map集合的键就可以了。这个大家注意,那所以说咱们在这要想把它给写,对怎么写呢,ARG0。然后A2G1就完事了。ARG0是U内。A1是password。因为咱们的参数也是有顺序的嘛,对不对。好,然后下面我们在这咱们再来一个执行,让大家来看啊,好,这个时候大家会发现没有任何问题。
06:01
所以说大家看好,如果咱们现在有两个参数的话,那我们是不能随便去访问的,咱们必须得按照my bet给我们制定的规则,那它的规则是什么呢?就是my be会把这两个参数给它放在哪呢?一个map集合中,然后呢,以ARG0 arg1为键,以参数为止,以PER1,然后PER2为键,PER2为键,然后以参数为止,来咱们再来一个执行,来大家来看啊,好,有问题吗?没有问题,那有涂老师,我可不可以把它两个混着用,我在这用一个ART0,我在这用一个PER2,因为大家都知道ART0和PER1表示都是user nameme,而咱们的ARG1和PER2表示的都是password,那我们在这能这样去写吗?大家觉得能不能啊?啊,它既然是给我们说,我们刚才提示的这个信息里面,他说我们能够用的应该是ARG0AG1PER1PER2,那说明这四个键是不是应该是在同一个map集合中的,大家说是不是,那既然是同一个map集合中,我只要通过相对应的键获取相对应的值就行,我还非得用一套吗?
07:20
不需要吧,是不是啊,所以说我们现在咱们再来一个执行,大家看一下有问题没呢,没有任何问题。所以说大家注意,这就是咱们的第二种情况,该如何去用,对吧,ARG0 arg1 per1 per2都是咱们的买杯机定义好的,咱们只需要按照买杯给我们提供的这种方式。来进行访问就行啊好,那大家说在这能用Dollar吗?比如说啊,咱们这里边写个ARG0,在这写个ARG1 OK,然后咱们把它给注释掉,大家来看啊,尖括号叹号杠杠杠杠尖括号OK,然后下面的大家再来看,那比如说我现在我想用井号打,我想用Dollar打括号了,对吧?然后咱们用Dollar大括号呢,然后去访问咱们的PER1PER2这种方式啊,来大家看PER1,然后PER2。
08:15
对不对,这时候对不对不对啊,记好咱们说了Dollar大括号需要注意什么问题,单引号问题,因为Dollar大括号的本质是字符串拼接,所以说我们遇到字符串类型的数据需要拼接,在circle口中,我们就必须得手动加上单引号,哎,这个大家注意好来,下面我们再来一个执行,大家来看一下啊。有问题没有,没有任何问题,对不对,好啊来,那我们在咱们的笔记里面来总结一下,大家看,如果说有两参数为多个十,然后此时呢,大家注意,然后咱们的买杯体会将咱们的这些参数,然后放在一个map集合中,集合中能看懂吧,好,然后以两种方式啊,以两种方式来进行存储,哪两种方式大家注意啊,第一种方式以什么为建,以ARG0,然后逗号arg。
09:24
Art一点点点,然后为价,然后以什么为值,参数为值为值为值好,然后咱们的第二种方式,然后以什么为建,以perm,以PER1,然后PER2点点点点点点为键,对吧,然后以参数为持,哎,以参数为持好这个大家注意好,然后因此我们只需要通过什么方式就可以获取相对应的值呀,因此咱们只需要通过井号大括号,然后和咱们的Dollar大括号,然后以什么的方式,以键,以访问键的方式,以键的方式的。
10:13
键的方式,然后来访问值,访问值即可,OK,但是咱们同样也要来注意谁啊,需要注意咱们Dollar大括号的单引号问题,OK吧,这个大家注意啊,如果有多个参数的时候,My be会自动将这些参数呀,然后放在我们当前的map集合中,以两种方式来进行存储,第一种方式以ARG0ARG1为键,以参数为值,第二种方式以per,以PER2为键,以参数为止,然后,因此这个时候咱们只需要通过这两种方式,以键的方式来访问值就可以了。哎,这个大家注意,但是咱们需要注意的就是咱们多大括号字符串拼接的单引号问题,OK吧,好,这是咱们的第二种情况啊,这个大家注意,那我们以后咱们在实现功能的时候,大家就看一下它符合哪一种情况,咱们就用哪一种解决方案就可以啊。
我来说两句