00:00
好,那我们下面咱们就来创建一个测试类,然后来测试一下my be plus的功能,首先呢,咱们来创建一个叫做my be,然后plus test的一个测试类,然后在类上添加eight spring boot test这个注解,好,那此时我们在当前的测试类中,然后就可以对我们IOC容器所管理的一些组件来进行自动装配了,就比如说我们当前咱们的user map,那大家都知道在我们当前咱们的启动类上,然后我们添加了maps,看之后就可以将指定的包下面所有的map接口所动态生成的代理类交给IOC容器来管理,那所以说我们在测试类中是不是就可以来自动装配user map接口对象了,对吧?来,A out world private user map,然后user map。但是大家会发现在这个位置呢,然后他给我们报了一个错,那为什么会有这样的一个错误呢?我们刚才分析的有没有问题啊,其实是没有任何问题的,但是大家注意,那因为我们当前咱们扫描了这个包所,这个包下面所有的接口之后啊,并不是把这个接口然后交给了IOC容器来管理,因为大家都知道在IOC容器中只只能存在类所对应的B,不能存在接口所对应的B,对吧?好,所以说呢,是将user map动态生成的代理类呢,然后交给了IOC容器管理,那所以说在我们的idea在编译的时候,然后他可能会认为我们当前的user map是无法进行自动装配的,好,那但是其实在运行阶段的话,有没有这个问题呢?是没有这个问题的啊,比如说下面我们就来创建一个测试方法,然后咱们来看一下public VO test,比如说我们要来测试的方法叫select list。
01:56
啊,好,叫做查询一个集合的方法,对吧?怎么来使用很简单对吧?按照我们之前的过程的话,我们需要在user map中去创建方法,创建完方法之后在所对应的映射文件中,然后去编写我们所对应的SQL语句。但是我们现在有了my plus之后,我们需要自己去写S口句吗?不需要,我们只需要来使用。
02:23
My be plus,它所提供的模板map,然后为我们所提供的功能就可以,比如说大家来看第一个方法就是select list叫查询一个集合,对吧?然后其中有一个参数叫做weper,这个东西是什么?条件构造器,也就是说当我们在查询数据的时候,如果说我们有条件的话,我们就可以通过weper来实现,但是如果没有条件的话怎么办?我们就可以直接来写一个null,那这个时候它所表示的就是没有条件,好,所以说大家要知道这个方法是用来干什么的啊,然后呢,查询啊,查询通过对吧?然后咱们的一个条件构造器,然后来查询一个list。
03:11
查询一个list集合集合对吧,然后若没有条件,然后则可设置,则可以设置nu,设置nu为参数啊行,这个大家注意,然后下面呢,我们就可以把我们当前咱们的这个list给输出一下,怎么来输出集合中是不是都有这个for each方法对吧?它可以干什么,可以将我们当前,然后咱们集合中的每一个元素呢?然后给它输出啊SYS,然后点out。好,然后哎LOK啊行,然后下面呢,我们直接来运行,然后就可以啊。
04:04
啊。OK,大家来看一下啊。好,大家看一下有没有任何问题没有,我们直接拉到最后来看我们最终的一个效果,大家来看一下,这个就是我们所查询出来的集合,然后每其中的每一个元素所说出来的结果啊,然后呢,跟我们从数据库查询出来的结果应该是没有任何问题的,对不对,这样的啊,好,那其实在这个过程中,大家应该也能够发现一些问题,什么问题,首先咱们先来说第一个问题,然后我们当前咱们的user map,然后他虽然说在idea中报了错,但是他有没有功能啊,是有功能的,那如果大家要想把这个问题给解决了,有的同学可能有强迫症,对吧,然后呢,就不喜欢看到这个红线,虽然说他没有任何问题,那这个时候我们该如何去解决呢?很简单,大家只需要来找到我们的user map,在user map上去添加我们的repository这个注解就可以。
05:08
那这个注解呢,大家应该也都知道干什么的,是将我们当前我们的这一个map接口,是将我们的一个类或接口,然后标识为持久层组件,对不对?所以说我们再回到咱们的测试类,大家会发现就没有任何问题了,OK吧,好,然后这是我们所解决的第一个问题,然后第二个问题的话,然后大家来看一下,然后我们当前所输出的我们所执行的这个S口语句,想必大家应该都知道这个SQ语句是什么,因为我们在没有条件的情况下来查询了一个集合,那所以说我们当前的SQ语句应该是来查询所有数据的,对不对?但是呢,S口语句我们自己写了吗?没有对吧?好,然后呢,说明这个S口语句应该是my be plus帮助我们自动生成的,而且它是不是就可以根据我们当前咱们所设置的user map所继承的base map的泛型,因为在整个过程中我们都没有告诉my plus它所操作的表是谁,对不对?所以说呢,大家想一下,我们仅仅是在我们的user map继承base map的时候,然后来设置了一个泛型叫做user。
06:23
然后最终他所操作的表是不是就是我们的user表对不对。还有呢,就是我们的user这个实体类中,然后我们是不是来设置了相对应的属性,对吧?那他在查询我们当前的这个表的时候,是不是就把我们相对应的字段赋值给了相对应的属性,OK吧?好,这个大家注意啊,好,那这个呢,我们也可以通过我们当前所实现的这一个简单的案例,咱们也能够看到my beatt plus的一些功能,对吧?当我们有了my beat plus之后,当我们来使用了my beatt plus所提供的模板的map之后,然后我们就可以快速的来实现一个单表的增删奶茶,虽然说我们刚才呢,咱们只测试了一个查询的功能,但是呢,刚才也让大家看过,在我们的base map中,除了查询功能以外,然后还有各种各样的增删改查的功能,OK,那这个就是我们的一个简单的测试。
我来说两句