00:01
好,我们来看一下呢,我们刚才给大家做的这个内容,我们刚才写的是一个do do里边呢,我们定义了一个隐色的方法,还有一个上面是一个查询的方法。在两个方法中呢,有很多相似的代码,它包括有呢我们的CLE3的获取,还有呢关闭里边呢,还有是C3这个对象的方法的一个调用,包括调用ins色,调用一个select。那么怎么来分析这个规律呢?实际上你会发现,我们在执行这个宇宙的时候,主要呢是要获取的是这个。ID的值,也就是你的命名空间加上这个标签ID的值,也就是说这个唯一的标识字符串,它也是一样获取这个标志字符串,拿到它了,我们就能够去执行map文件中的这个CQL语句的,因为这里边它也是ID值,这个也是我们对应的那个命名空间的值嘛。
01:05
那怎么来分析这个内容呢?我们来看前面这一块。我们看这个方法调用语句,通过这个调用语句我们能得到什么信息来通过分析它来获取信息啊。好,我们来看这条鱼的调用。就看它啊,我们看它的调用。那这个调用里边呢,首先第一个我们有一个DAO对象,这个对象呢,它的类型是死丢的DAO。那我们看这个类型右键。那这块呢,我们看它的拷贝。那这个类型啊,我们换个地方拷贝。
02:02
发一个这的卡呗。啊,被他啊。拷贝的话,我们看这个能不能拿过来你看。这个3D它的类型全名是这个吧。那就说通过我们在放调用过程中,这个d lo,通过调用它的反射机制能够拿到这个全限定名称吧。能够拿到它。拿到这个。它的全名啊,全限定名称。名称是这个就是它。看北京power do自do,这是全限定名称,是这个值啊,是这个值,那么这个全限定名称你看啊,它和我们的MY文件中的。
03:00
这个你们space是一致的吧,和它是一致的。啊,这个名称呢,这个权的限定名称和我们的namespace是一样的。啊,和这个name save是一样的啊,它呃不用写这个到这就行了,和name save是一样的,那说明你通过这个D。就拿到这个namespace这个全名称的值了吧,这是一个,然后再看第二个它调用的方法名称DAO,调用的方法名称,这个方法名称呢,是这个select student。你看这个方法名称,它就是我们MY。
04:00
文件中的那个ID值。我们这样要求呢,就说就是接口的全限的名称吗?这是这个方法的名字吗?好好上面这个啊方法的名字。那很显然,你这这个方法的名字,它就是你MY方间中ID这个值啊,所以跟这个是一致的啊,就是它,那现在你通过这一个方法调用就能够拼接出你的。Namespace和I的值吧,那么这两个内容就可以知道你要执行的是这个cycle语句了吧。它就获取到了这个信息,我就拿到了,然后那我怎么知道我要执行是写list还是执行的是这个insert呢?哎,是这样的,大家想啊,当你找到了这个。ID之后,那你看它对应的这是有一个select标签,那么这select标签,那么它就会执行的是select,如果他找到这个标识是隐色的标签,那么它实际上就是隐色的操作了。
05:10
所以你的买能分析出你要做的是查询,你要做的还是这个插入。所以那我们。要调的是这个方法在list而隐色就已经可以知道了,实际上从另一方面呢,也能够确定。我们的my bet是要执行list的,还是要执行这个ins色,那这里怎么来区分呢?那就是三通过这个方法的,通过DAO中方法的返回值也可以确定。也可以确定my be要调用的Q3的方法,如果你的返回值是list,那它将调用的是thank you3。
06:18
Select list方法,那如果你的返回值是这个,像int呀,或者是嗯,或者其他的啊或是。我是非。List,那这个时候就看你的MY。文件中的这个标签,这个标签呢是银色。
07:00
啊,还是这个update是颜色的还是up。这颜色的还是update。那就会去调用C的颜色的,或者是update等方法,好等方法。那这样的话呢,我们就可以通过呢,这一个方法调用的。内容来获取我们执行三课语句必要的信息,获取到命名空间的信息,获取到要执行的方法的信息,也就ID值的信息,同时呢,也能知道我们应该执行的是这个例似的方法呀,还是隐色的等等这样的方法,这样的话呢,通过这一个方法调用就能获取以上的信息,这样的话我们就可以呢,简化对于my be中方法的调用,那这个简化的操作呢,就交给my be的自身来做了,My be现在他也分析出啊,通过这个调用。
08:15
就拿到呢,我们以上的这些信息,所以买be它就定义了自己的一种方式,这种方式呢,它叫做买be的动态代理。它有个名词呢,叫MYBAT的动态代理。这个段代理呢,是说my be,它根据你DAO的方法调用来获取。执行cycle语句的信息MY,它根据你的DAO接口创建出啊,创建出一个DAO接口的实现类。
09:09
并创建这个类的对象。好类的对象。来完成。S去调用方法来访问数据库啊是这样的。那这块说的这块有点绕嘴,什么意思呢?就相当于是你的程序中不用再创建这个时间类了,它不需要了,有你的买BA,根据这个地油接口来把这个地游实验类把它在内部给你创建出来。并且完成这个DL类中这些方法的调用,就不用你再写这个D时间类了,不用你写了my bet帮你去完成了,这样的话呢,你在做这个my be操作时呢,你就只需要提供这个接口就可以了,这个时限类my be帮你去自动做。
10:17
里边呢,还是执行类似于这样的代码就OK了,这样你就简化很多了。那这种操作是我们以后啊执行买bed的项目值主要用到一种方式,那这种方式呢,那它就是。动态代理的一种实现机制,这个机制内部呢,我们就剖析了,我告诉你他干什么就行了,它就是能够创建出地的一个。接口的时间内,也创建它的时间内。创建它的实现类。这个时间内呢,它能完成CQ3的方法调用去访问数据库,那接下来我们看看这个应该怎么用呢。那我就把这个零二项目呢改造一下了,改造的速度非常快。
11:01
我们在磁盘中呢,把这个项目呢,我们给它拷贝了一份。啊,我看一下cos下面的。好,我把这个零二的CTRLCCTRLV和拷贝一份,然后呢是0303这块呢,我们要用的是买BA一个叫做动态代理。那我们这个叫代理的DAO吧,啊叫这个名字拷贝一份。然后改造一下。里边呢,这两个文件呢,删掉就行了。就要删掉啊,Home中呢,我们需要把它改造一下,要改造一下就是项目名称,因为这个项目名字是新的名字了,这样就可以了,我的目的是要从磁盘中把我们这个项目导入到我们的idea中就行了。
我来说两句