00:00
我们研究一下马贝利斯,他是如何啊进行参数处理的。也就是说我们现在的感觉就是,哎,我接口上这个方法随便传什么参数。来到插麦配置文件,只需要井号大括号就能取出对象里边的属性,或者呢咱们这个参数对应的值。然后对于参数这一处理这一块,其实它还是有非常多的这个规则,我们来探究一下,那么这个呢,注释我就不写在这了,它比较重要,我专门写一个文件来讲它。MY。咱们这个参数处理。好,那么在这在这里呢,我们来说一下我们这些规则。行。那么既然是传参数,我们就有很多情况,第一种情况我们来传单个参数啊,无论传什么。
01:08
单个参数,我们看到的现象直接是井号大括号,咱们这个参数名啊,就能取出参数值。那么呢,是是这样吗?哎,其实我们来说,如果传递单个参数的时候,马贝蒂斯不会做,不会做特殊处理。不会做特殊处理,然后呢。哎,你这一块井号大括号你都不用写参数名,随便写啥,因为只有一个参数,就是取出这个参数的值,我可以演示一下。啊,比如呢,我们按照ID查询好,这个是my circle的语句,我这块还写的是ID,因为我这个查询方法,哎,传入了一个inte ID,那我写一个IDC,它也是可以的,没问题,因为你就只传了一个参数。
02:02
对马贝蒂斯来说,井号、大括号里边写什么都一样啊,我们往下看,就这个方法行不行?走。哎,是可以的,随便写参数,也就是说呢,单个参数的情况下,我们不做任何处理,那如果是多个参数呢。那么多个参数的情况下,我们来看我定义一个新的方法。还是查询我们这个员工对象。但是呢,它是根据ID and last name。两个字段一起查,那这样的话呢,我们来传上多个参数,传第一个。把ID传进来。那么第二个把lastname。进来。好,我们来定义一下这个方法。
03:01
好,我们来定义这个方法。还是查询标签select?好,方法名是他把这个查询语句我也拿过来。但是呢,我多的一点就是ID是我们传过来的ID,而last name呢,Last name这一列的值是我们传入的last name,那么我们取值大家能想到的就是直接井号大括号last name。那这种情况对不对,我们来测试一下。好,嗯,把这个查询呢,我们再来测试一下。来写一个新的方法进行测试。在这测试查询。一次。好,拿到这个这个都是测试添加啊。修改删除,那我们把这一块都删掉。
04:00
来测试查询。好,拿到这个以后呢,我们来查上。一个员工,而我这个查询是调用GET18ID and last name,我传入一号,我来查Tom。哎,这个一号Tom是可以的。我来打印一下。走。诶,我们来看我想要查的时候,运行直接报错,错误原因他说。绑定异常,哎绑定异常说参数ID没有找到,可用的参数是一零,哎PM1PM2,那这是什么意思呢?我们就得说一下。在多个参数的时候,我把这个异常拿过来。好。
05:01
异常这样子这样子呢,哎。这是我们出现的异常,而我们出现异常的操作,我们的操作是这一串。方法定义的时候是传了两个参数。而取值。这是方法。而我们取值的时候。取值,我们是井号大括号,我们直接写ID,尝试取出第一个值和井号大括号,我们写last name,尝试取出第二个值。然而出错了,他说ID没找到可用的参数是一零帕一帕二,这是什么意思呢?要就说MY遇见多个参数会做特殊处理。做咱们这个特殊处理。怎么个特殊处理法呢?比如说多个参数。多个参数会被封装成一个map。而井号、大括号。
06:07
就是从map中取值。中获取指定。K的值。而多个参数封装map步的时候,它有规则,也要说它封装map的时候K,哎,就是我们这个。一到我们这个PN有十个参数,就是PM10 PM1到P10比就说呢,它的K是这样子,而Y6才是我们传入的参数值。那如果这样的话呢,哎,我们要取出ID,你就只能井号大括号一这么来取,Last name井号大括号PM2这么取,或者呢,写一零也行,哎,这是参数的索引,从零开始啊。
07:01
或者。或者参数的索引也可以。好,我们呢,就来尝试使用P1P2取值,按照它的提示。RID,我就写PM1。二我们再来测试。好,再来测试,我们看这个方法对不对,走。好,这个circle语句是发了,只不过这一块有点其他问题。哎,说这个。哦,我们这个result type没写,我们这个查询没写type,它在这没法确定,说这个查询呢出来了,但是呢,没有result map指定,或者呢,我们这个result type也没指定,我们这个result type1定要指定啊,返回值类型得告诉马贝,还有封装结果的。再来测试。
08:00
测试。好,这是查出来的,但是呢,哎,我们这个传了两个一啊,我们来查烫。哎,我们没取对吗。好,都取的是P1啊,我们来取第二个取P2。走。好,要说呢,我们查出来没问题,多个参数的情况下,哎,我们取值还需要这么来取,哎,导符大括号帕一帕N。那这个取值呢,虽然是成功了,但是哎,看起来让人感觉有点尴尬,哎,我们觉得还是这么取值比较贱民之意的,这个P1PN这个写多了,P要几十个,那估计瞅都哎眼睛都花了,瞅不过来了。所以说呢,多个参数的情况下,我们推荐才可以使用这个方式叫命名参数。什么叫命名参数呢?我们知道多个参数,马贝会做特殊处理,把它封装成一个map,而map用的K是帕AL1到帕M2。
09:07
而命名参数的意思就是明确的指标。封装参数十。Map的key。嗯,不要使用PM1PMN啊,这样太难看了,来做一下好,这两个呢,我使用这个注解叫paral,哎,Paral注解。这个注解呢,我来明确指定它就是ID。还有他。他就是我们的last。好,那么通过这种明确指定以后,我们就可以来取出ID这些值了。使用汤制品。那么这个时候呢啊,多个参数会被封装成一个map k,哎,K就是使用咱们这个P注解指定的值。
10:11
接下来我们这个Y6,当然也是我们传入的参数值。参数值。我们直接井号大括号,哎,井号大括号,那这个指定的。就可以取出,取出我们这个参数值。对应的参数是。来,我们就是推荐这么来做的,我们测试一下,我来到这个叉中,哎,我就不写P1PM2了,我现在来写ID和last name,因为我们为这两个参数命了一个名,就叫ID last name。现在再来运行走。我们来看,哎,成功的没问题,所以说呢,如果多个参数下,我们就来使用命名参数来做。
我来说两句