00:00
好,那咱们第一种情况说完之后,那下面呢,我们再来看咱们的第二种情况,那比如说呀,若咱们的map方法的参数,然后是什么,是多个的字面量类型。比如说我们在这有个验证登录,然后它的返回值也是一个U对象,然后咱们叫做check login,然后这里面大家说咱们是不是就必须得有一个string类型的username,还得有一个string类型的password。OK吧,好,然后呢,下面呢,我们再来看杠星星回车,然后把注释写上,这叫验证登录,这个叫做验证登录,OK,那我们是不是可以把这个方法复制过来,放在咱们当前的映射文件中,OK,然后SQL语句写一下,非常简单,就是把用户名和密码的验证登录嘛,那不就是把用户名跟密码同时作为条件来查询,能查出来成功,查不出来失败,对吧?好,那它的result type呢,咱们也是要查询出来一个用户对象的。
01:07
好,那这个时候我们应该怎么做呀?Select星,From t_user,然后while user name等于谁,然后and pass word等于谁,那这个时候我们应该怎么去写呢?大家想想现在咱们有几个参数,两个参数,然后我们现在咱们应该用号大括号获取,还是Dollar大括号呢?其实啊,我在上一个视频里面我就说了,在3.5之后啊,咱们的井号大括号和Dollar大括号其实获取数据的方式基本上是一致的,只不过就是一个需要手动加单引号,而另外一个井号大括号它是可以自动加单引号的,OK吧,所以说都可以,那比如说我们先来测试一下井号大括号,那关键是咱们的井号大括号这里面要写啥呀?我们传输过来的参数名,一个叫username,一个叫password,那我们在这咱们也要来写这个username和password吗?但是咱们除了这个,咱们也不知道该写什么,对不对,咱们第一次学习,那这个时候咱们就直接写进去呗,大家注意不要怕错,那咱们测试的嘛,对不对,你要直接知道答案了,咱们就直接写进去,那咱们现在不知道该怎么写,咱们试一下对吧,特别是咱们在用框架的时候,如果你写错了,你的框架有的时候是会告诉你,你应该怎么去写的,OK吧,然后这呢也是井号大括号,然后password就可以啊好,然后下面呢,我们来进行一个测试,咱们把上面这一疙瘩呀,给它复制过来。
02:40
好,然后咱们现在要来测试的叫做check log。然后我们要来调用的方法,然后叫做check login方法里面咱们来写个a me,然后再来写个123456 OK啊好,设置完之后返回一个U对象,然后so,然后把咱们的U给输出,好,下面大家看你看它对不对啊,先给大家说一下不对。
03:05
啊,不对,为什么呢?因为我们是不能来使用这个username和password的,然后大家来看他给我们报的错啊,首先大家注意你的circle语句都没有输出,那说明什么?那说明我们当前,然后咱们的你看这是谁的错,这叫做part,这叫做persistence对吧?然后exception,这是我们当前咱们的这个配置文件,它的一个错误,解析配置文件的时候报的错,OK吧?然后咱们再往下,你看他报的错具体是什么?叫做帮ing exception是我们在绑定参数的时候出现的异常,他说我们当前的参数啊,谁呀,Username没有找到,然后我们当前available parameters啊,A1 a0 per1per2,这是啥意思?这叫做可用的参数是啥呀?ARG0和ARG1 per1和PER2啊,大家看,这不就是买V体给我们的解决方案吗?所以说。
04:05
My be跟我们说了,我们应该用什么两种方式看好啊,这两个是一对,这两个也是一对,然后这两个ARG0表示username ag1表示password,因为咱们的参数是有顺序的嘛,第一个第二个对不对,然后呢,这里面的PER1表示用户名,PER2表示密码,那既然他告诉我们该怎么用了,那咱们就用一下呗,大家看好怎么写啊,在这是ART0,然后在这是ART1,然后下面我们在这再来一个执行,然后大家会发现,哎,这个时候它就可以查出来了。大家看a me123456对吧,然后咱们就把这个数据给查出来了,好,然后还有一种方式,我们也可以用谁呀,叫para per1,然后这里面咱们用PER2也是可以查出来的,那这到底是为什么呢?大家注意,如果我们当前咱们的参数呀有两个的时候,这个时候你要注意了,My be是会自动把我们当前咱们的这两个参数呀放在一个map集合中的,然后这个放在map集合的时候,它会以两种方式来存储数据,第一种方式ARG0ARG1的方式,然后以ARG0RG1为键,然后以参数值为值,然后还有一种方式是PER12为键,以参数值为值,然后这个时候其实我们就相当于我们现在要干什么,我们现在是要从一个map集合里面来访问我们当前存储的数据的,那这个时候怎么来?
05:43
访问很简单,通过map集合的键就可以来访问到它所对应的值,所以说我们在这写的才是PER1 per2,还有ART0和ARG1。这个大家能听懂吧,来咱们在这给大家写一下啊,它是什么意思呀,然后此时大家注意,然后这个此时咱们的买杯体,然后会将参数放在哪啊,放在map集合中啊,然后以两种方式,然后来存储数据,哪两种方式大家注意啊,首先第一种方式以什么AGAG0逗号逗号,然后AG1逗号AG算了,咱们在这直接写点点点了啊。
06:35
好,然后以RG0ARG1,然后为参数,然后以什么有为键啊,为键,为map集合的键,然后以参数为值啊,这个大家注意以参数为值,好,然后第二种呢,然后大家再来看第二种情况是以PER1PER per1然后和PER2,然后为件,PER2为键,当然如果说咱们的参数更多的话,大家应该知道什么意思吧。
07:10
如果有三个参数,ARG0 arg1 arg2,然后这种情况PER1 per2 per3 OK吧,哦,大家注意它会以这两种方式来存储数据,好然后然后因此然后咱们只需要通过谁呀,咱们只需要对吧,然后通过井号大括号,然后和Dollar大括号,然后来访问map集合的键,然后就可以可以来获取相对应的值,哎,这个大家注意,所以说我们是怎么写的,在这咱们是不是用井号大括号ARG0AG1,然后或者说是井号大括号PER1PER2,好下面咱们把它注释掉,咱们来试一下这个Dollar大括号啊,尖括号叹号杠杠,然后先来写个注释。
08:02
然后呢,下面咱们在这把它给改了,是Dollar。Dollar大括号,然后这也是Dollar大括号,大家说这对不对?不太对吧,为啥Dollar大括号得注意什么?单引号问题在这在这咱们再写一下啊,好,然后一定要注意谁,一定要注意咱们Dollar大括号的单引号问题啊,好,因为它的本质就是字符串拼接,所以说如果要有单引号的话,大家必须手动去添加单引号,OK吧,好啊,行,然后下面咱们在这把这个单引号加上,然后在这呢,咱们也是单引号加上,然后现在咱们再来一个执行,大家看啊。好,大家看有问题没有,没有任何问题对吧?哎,所以说这就是我们当前的第二种情况,如果它有多个字面量类型的参数,那这个时候买be体会把这些参数啊放在一个map集合中,然后以什么为建ARG0G1为键,以参数为止,然后第二种呢,是以PER1PER2为键,以参数为值,那所以咱们只需要来访问到这个map集合的键,就可以来获取相对应的值,当然一样的,因为Dollar大括号的本质,所以说我们需要来注意Dollar大括号的单引号问题啊。
09:23
行,这是咱们的第二种情况。
我来说两句