00:00
各位同学大家好,刚才呢,咱们完成了MP对map层的测试,分别实现了里边的增删改查操作,那下面呢,我们在service层中来使用一下MP,首先给大家先做个说明,这里边特别强调各位同学应该清楚,咱之前画过啊,Web开发中有三层结构,给大家在里边我再来画一下这个三层结构。分别是外部草、service草和DA草。我画到这里。外部草。这个层叫service层。然后这个层叫DAO层,或者说叫层,那注意啊,咱们刚才呢,MP是不是在这里边已经用到了,而现在我们要写下这个service层,这里边特别说明一点啊,MT呢,它对map层做了封装,就是咱们继承那个base map可以做到,而他对service层也做了封装,也就这么来理解,咱们写功能中service到map的过程,它里边也做了封装,如果说你只想实现最基本的增删卡操作,只需要关注web层,或者说只需要学controlr了,而service的map过程他已经帮咱做的时间,所以下面呢,带着各位就来测试一下这个service维层里边该怎么来使用FP,那下面我们继续来看一下,然后再用代码做个实现。
01:41
然后里边怎么做,我在这位置给大家写一下啊,首先我们的第一部分,咱们先创建一个service这个接口,或者叫interface,然后创建之后让他继承P中的一个接口,这接口名字叫ice。
02:02
这是由MP封装的,咱一会儿进行实现,然后这个之后我们到第二部分创建service的实现类,然后让它也是继承MP中一个这个类,这个类的名字叫service m PL,然后咱通过它进行实现,那下面呢,按照这个过程,咱们把这个代码给大家写一下,咱们测试一下service层里边怎么实现增删改查的操作。这是我们一个基本的分析。下面咱们写代码,首先这些我先都关掉,然后在这里边呢,首先我建个包,这个包叫service。里边呢,咱们创建一个interface,我在里边做创建,然后interface我们叫sys service。就是角色的service创建之后,让他继承一个叫I service。
03:04
指定我们的泛型就是角色啊,各位注意啊,这个是苞米豆中的哎,Service。这个之后呢,我在里边再来建个包,这个包叫ML,然后创建它的一个类,那我们在里边做个创建。实现类I'l实现这个接口。引入依赖,然后这过程中呢,我们让它在继承一个叫做service m PL里边加上两部分,第一个是你的MY的名称,那我来加上。第二个是实体类的名称,所以现在完成完成之后呢,别忘记啊,在service上面加个注解,Service在分里边进行注册,所以现在把这个基本结构我们就创建完成了,创建完成之后呢,我们进一步来看一下,首先给大家说一下里边一个底层的一个东西,把这个给大家先截个图,然后到里边再来说明一下。
04:17
各位注意啊,我刚才提到在P里边呢,它对service层做了封装,也就是说service去调用map这个过程它已经给我们做了封装,那再说一下这过程是怎么封装的,大家注意啊,如果说咱们按照原生的或者说原始方式在service中。咱们把MY是不是要注入进来,比如说咱们需要这么来写。肉map是不是要注入,然后调方法进行实现,但是现在这个过程他已经帮我们做到了啊,当然你也可以再注入,只是说不需要了,然后咱们看一下它是怎么做的,我们把它的源码打开。
05:02
咱就看这个啊,打开打开之后大家看这个位置,我也是截个图给大家分析一下这个过程。这个这个图咱们拿过来啊。然后大家看啊,这是源码中,咱们对比来看啊,这个类里边泛型中我是不是写了两个,然后两个跟这个是不是对应,一个是M,一个是T,它们肯定是一个对应的关系。这应该能看明白啊,因为他们是继承了对应关系,然后在对应过程中大家看这一行代码。这个做的什么,把这个M是不是注进来了,就是M什么意思,你这里传的是谁,M就是谁,我当天传的是角色map,那M就是角色map,然后它里边用o one把这个map给咱是不是已经注入了,后面咱们调用,直接用这个名字叫base map,直接调方法就可以实现,这是我们看到的这个特点,然后在过程中咱再往下看啊,它里边给我们封装了,就是很多的方法,所以咱后面直接调它的方法就可以实现。
06:14
以上是咱们看到这个封装,如果这么说各位还不清楚,那下面呢,咱用代码做个测试,让各位进一步理解它这过程是怎么做的,比如说你写的话,只需要写到这里就可以了,其他过程MP中都封装了,那下面再做个测试啊,测试过程中为了看的明确,我再重新建个类,这个类的名字我就叫肉service。T的,咱们重新建一个,然后建完之后在里边这些我先都去掉,咱们重新来操作。那怎么操作呢?在这里边咱们注入这个service,把它注进来,就不注入micro,注入service,入service,把这个注入,然后注入之后我们加上方法,比如说啊,我就先写一个最简单方法查询所有。
07:06
饭。然后方法里边各位注意啊,咱现在直接就调用service里边的方法就可以实现,那我们来调一下啊,大家看啊,里面一个方法就叫做list这一方法调完之后得到就是表中的所有数据list。咱们执行一下,看一下效果,然后再说明他底层是怎么做的。先执行一下啊,这个是查询表中所有数据。然后大家看啊,最终结果。各位看啊,最终得到是不是七条数据,这个就查出来了,所以大家发现啊,刚才的代码中我好像没有写什么,直接就建了类,建了接口,最终调用就是可以做到,而它里边怎么做到,咱们看源码中啊,找到方法里边,大家看这方法中是怎么实现的。
08:05
咱们看啊到,然后里边一呢,什么意思呢?刚才咱们在那个实现类中,咱们看到base map给咱是不是注进来了,所以就得到base map,然后调用里边的方法进行实现啊,咱再来看啊,Base map中,Map中是不是有s select list,咱们刚才测试过,这样的话就插去全部,所以咱们啊做了这么一个封装,咱们直接调就可以了,这就是查询,所有这个我们就完成,所以以上是MP对service层的封装,各位这这过程啊,当然这么写,如果你不习惯,你也可以在service里边自己手动注入map,然后进行实现,因为咱后面操作中我们还要编写搜语句实现,咱目前先主要把MT里边的一个过程大家先熟悉,所以这是我们演示。
09:05
这个方法。这个方法之后呢,我们再演示里边呢,就是增加修改删除,包括条件查询,把几个方法咱们通过层也做过测试,那第二个呢,做一个添加啊,那我就快速来演示一下啊,我把这个方法结构咱们复制一下。然后给它改个名字A,然后在里边调用service中的方法,这方法叫做个添加,咱向表里边加条数据,那我现在new一个对象。一个角色。然后向里边设置它的这些值啊,就是set它的值,这值我从里边直接复制一下啊。他们来不来?啊,为了不冲突,我就加一个at硅谷。
10:00
最终把这个对象传进来,这样的话就是一个添加的操作,这咱们就完成了编写。添加之后呢,我们再写一个修改删除,包括查询,咱们都写完之后,最后我们再测试下一个,我们写一个修改,然后修改咱们改个名字update,然后怎么做,跟之前过程一样,只是换了一个方法,第一个根据ID查询,大家看这方法get摆地。比如我现在啊,呃,为了明确这值,我现在都改成零,为了咱方便啊。比如现在我把ID是一的这个数据做个修改,那这里边我传个一,最终返回到这个对象。返回之后向里边设置我们要改的这个值,咱就改它的描述了啊,我就改一个test了,最后调方法做修改。Update白地传入对象,这样的话修改我们就完成。
11:05
所以大家发现啊,这个编写是不是很简单呀,直接调方法就可做到,这就是用框架的好处,下面咱再写一个删除。我就写一个根据ID直接咱就删除了啊,直接写一个。我起个名字就叫做就是删除。然后在里边调方法,咱们做一个删除。啊,它应该叫瑞木白帝。咱们传个值给这个值。我就传一个这个啊,咱传一个八这套数据给它删掉。现在删除完成,完成之后,最后我们写一个条件查询。我在里边写一下啊,我就叫。
12:00
在里边第一部分我们写一个条件构造器,咱刚才刚演示过,我就快速写一下啊,这各位应该很熟悉了啊,咱们刚写过,然后像里边设置它的条件,我就加上一个EQ,比如现在啊,我根据这个,根据他们这个角色的编号做一个查询。然后角色编号,我们来加上一个,这个呢,我就加一个叫system,就是系统管理员啊system。讲到这里,最后调方法查询。Service里边这个方法叫list,里边传rapper,最终返回的是集合,咱把集合直接做一个输出就可以了,所以大家看啊,以上就是MP对service层的这个方法的编写,都是调里面的方法进行实现,这些我们就完成,完成之后呢,最后咱把几个方法快速来测试一下,让大家感受一下MP的便捷的地方,它里边只需要调方法就可以实现啊,当然我说明啊,它只是对单表特别方便,如果说你有多表,或者说有更复杂查询,那咱肯定还是要编写SQ语句进行实现,目前只是单表最基本的增删改操作。
13:25
那下面呢,我们来测试一下啊,首先测试一个添加。向表里边我们加入一条数据角色管理员at硅谷,咱们看效果啊,等他先执行出来。这里边成功到表里边刷新,咱这数据是不是就加进来了,这是一个添加,然后第二个是一个修改,直接改这个ID是一的数据,把描述改成test的,咱们等它执行看看这个效果。
14:02
咱们来看啊,数据看这里边有一个描述的部分,IDE是不是改成了T这个就可以了,然后第三个删除,把八的这套数据给它删掉,咱们做的是逻辑删除,它的标志位应该是改成一,咱们等他执行看效果。我们看里边这值是不是就一了,然后之后最后一个操作条件查询,根据角色编号是C,我们最终做个插曲,看它最终的结果是怎么样的。等它进行出来。好,我们看一遍啊,最终数据也都得到了,所以说以上呢,就是咱们完成的MP的操作,咱们分别测试了map,又测试了service层,MP对两层都做了封装,在这过程中它的方便的之处在于直接调用它的方法就能实现对数据库的增删杆操作,我们项目中就基于MP来实现对数据库的操作,所以以上就是MP的相关的演示。
我来说两句