00:00
看啊,咱们来改造一般啊,我们接下来将MYBAT啊,改造成终极形态啊,同学们。溜出来一个model,然后一会咱们练的啊,就直接练咱们这个三版本这个终极形态就行了啊。嗯。这个。Next,好,我们来一个。MY白是零三啊,零三的同学们啊好。啊,这个零三啊,还是跟刚才一样啊,咱们该粘的啊粘一下。Lib在web info下粘一下好。ADD as library啊好,接下来这两个配置文件给他拿过来,粘到src的根下,然后紧接着咱们这个。com文件夹。
01:04
我给他拿过来。站到src下好。来做一个咱们第三个版本的这个测试啊。我查个A03试试啊。行,好使啊。接下来咱们开这个话题叫什么呢?叫做MYBAT对倒层动态代理的支持。哎,动态代理咱们刚才不是刚说完吗。刚才我说的是哪一层呢,同学?是不是业务层呢?行了,咱们来总结一下啊好,我们以前啊用过动态代理,对吧,对吧,但是啊,我们是在哪呢。
02:03
业务层使用的是这样吧,好在业务层使用动态代理是为了。为了实现什么呢?这个事物。啊,事务的事务管理的操作啊,这个事务管理呢,就包括咱们事务的提交以及回滚了,OK吧,好同时呢,咱们业务层的这个动态代理啊。是我们自己手写的,这个没错吧,而且要求大家去记这个东西了,对不对啊。好,那么我们现在来分析一下这个业务层,我们是为什么要写这个动态代理,为什么要用代理模式。层。之所以。要使用动态代理是因为什么呢?因为业务层本身啊,就是用来处理什么呢,业务逻辑的。
03:17
也就是说你们转账那个流程就相当于是业务逻辑OK吧,就说来处理业务逻辑的啊,好,事务相关的这个代码啊,我们不方便放在这个业务层处理,OK吧,所以啊,我们想到使用什么呢?使用代理类啊帮这个业务层。去处理是这样吧,也就是张三啊,在处理业务逻辑的时候,不方便处理事务,咱们造个李四帮张三处理事务,没错吧,这没错,对不对,好,那么现在啊。
04:01
我们要在倒层啊,也要加入什么呢。动态代理。倒层也要加动态,也就是说我们为什么加动态代理,就是因为什么呢?我们不方便做的事儿,咱们创建一个代理类帮我们做,是这样吗?我们不方便去做扩展,创建代理类帮我们扩展,是这样吗?哎,大家想一想啊,业务层是不方便处理事务,咱们创建代理帮他扩展事务。那倒层我们在哪?不方便处理某些代码。你看倒层我们已经超级简单了,同学们啊,咱们来看一看这个倒层这个代码啊。你看这简单的,这有点说不过去了,是这样吧,OK吧,他有什么不方便的,还非得创建个代理啊。啊,为什么?
05:05
因为啊,大家注意啊,好道层。啊,之所以啊创建代理类好,是因为啊。是因为。在倒层啊,我们写。什么呢?道层实现类本身。诶在是因为写道层实现类本身。就是一种不方便。这句话怎么理解?哎,倒层不方便哪不方便这回,哎你看ipl是不是倒层的实现类啊,倒层实现类我是不是还写了。
06:01
你别看以前用的接力必C,现在我们用买卖提示说把它变得简单了,但是毕竟我们是不是还是写它了,写它就是一种不方便。所以说咱们能YY到一个什么,我们将来是不是就不写这个时限类了,这就是应对了,昨天老师答应过你们那句话,咱们将来在道层啊,就写什么SQ语句。Ipl不行。OK。在这个啊,结合了咱们这个啊my bet的动态代理机制后,好,那么以后的实际项目开发啊,我们到层。IP。就不写了啊,再也不写了,OK了,好跟我们这个业务层这个区别是什么呢?我们这个倒层的这个动态代理啊,MY的这个动态代理啊。
07:13
啊,不用我们自己手写啊,自己手写是在这个MY。中啊,已经这个集成好的啊,集成好的。好的一种这个啊机制啊,我们直接拿来使用就可以了,OK吧,好,那么需要大家啊,遵循一些这个开发规则啊,遵循一些开发规则,你不按照这个规则来。咱们用不了OK吧,好,首先啊,咱们来看第一个规则,大家注意看啊,老师要做一个行为啊,这个行为是什么呢。这个ipl啊,看着有点不顺眼了。
08:00
那我就干掉了啊,这可是你们让我干掉的啊。抵赖他。干掉了。说干的要干掉,大家注意看啊,以后咱们这个map映射文件和倒层的这个接口。必须得放在同一个包下,这个包要么叫map,要么叫DAO,不同的企业有拥有着不同的企业文化,企业里边叫什么你就叫什么,OK吧,我们遵循传统啊,就叫DAO行吗?好在企业里边还是叫DAO的比较多,我要做的是什么?同学们。拽拽拽拽拽拽到抱抱下,看到没走?OK,拽过来了啊,那这个这个夹二还有用没。干掉。看到没,必须得放在同一个包箱,OK吧,好,然后呢,咱们这个名字大家注意啊,必须得统一,你这个接口的名字和我map映射文件的这个名字,除了后缀名肯定不一样,对吧?一个调加点加va,一个调点叉mll对不对?但是啊,文件的名字必须一样啊,要么这个包如果你叫map的话,咱们统一都叫map OK吗?如果这个包叫do的话,咱们这块统一叫什么?
09:24
DAO,好改名。那这叫什么呢?应该student呢?DAO,好吧,好,那么我们现在来看啊,报包下有一个接口,一个map文件,OK吧,好,接下来同学们注意的是什么呢?我们这个name space啊,它不能乱写了,我们以前随便写。没错吧,好,这回它必须是我们到这个接口的什么呢?权限定名右键。
10:03
Copy权限定名必须是他硬性规定OK吗?行,这些东西咱们处理完毕之后啊,主配置文件咱们是不是应该改一改了。好,那这里边儿应该引的是他了是吧。改一改。行吧。这回跑到这个道包上了,对吧。行,这些东西处理完毕之后,大家注意看啊,呃,最后需要注意的是什么呢?同学们注意一下啊,我们现在这个方法的这个名字和什么呢?你map映射文件中什么呢?ID的名字必须相同,OK吧,你在这个DAO下有几个抽象方法,我在map映射文件下就对应是几套标签,一个方法对应一套标签,OK吧,好,你的方法的名字必须和我标签中ID的属性的标识符必须一一匹配,一模一样,OK吧,一模一样啊好,你的这个参数大家注意啊,对于查询来讲,我只是查询啊,不说添加啊,添加没有那么多约束啊,对于查询来讲,你传递的这个参数类型和返回值类型必须跟我接口中的这个参数类型和返回值类型保持一致,OK。
11:29
对吧,好行这个规则啊,咱们有了,那业务层呢。没有他了。同学们。这个东西咱们不是应该干掉了,好,所以说咱们现在是不是student do应该等于一个代理类的形态了,对不对,这个代理类是由MY给我们提供的,我们直接拿来用就行了啊,这可不是老师写的啊。好,来一个什么呢?首先我们来一个circle session u,我先取一个session,非常的简单,调一个get。
12:04
Map这个方法我们取这个student do倒层的反射类型对象,这就是一个语法的这个约定,OK吧,好,这一句就相当于帮我们创建了什么呢?实现内了能理解吧,实现内了好这个倒层啊,咱们直接就能用好,我们再来进行一个测试,TEST1。再来一把啊,走。看看好使不是,不是也好使啊,没问题吧,好,所以说将来我们的开发会变成什么样子呢?好,我们现在来看一看啊,现在啊,我先来一个这个test.java对不对?好,创建了一个业务层对象啊,对吧,比如说现在我来一个这个浏览器发出一个请求,这个请求的目的是为了这个查询所有的记录行吗?查询所有记录可以吧?好,那么现在我是不是得想到使用什么同学们。
13:11
是不是得想到使用业务层帮我查询呢?以后控制器是不干活的,你需要注意了啊,控制器是不干活的啊,是不是得业务层这个SS帮我去拿呀,SS掉一个get。哦,可以吧,好给我返回一个什么。Student。List是这样吗?我们可以把这个list啊给它遍历一下,Student students,咱们来个S。List好,我们来s out,把这个S给它输出一下行吗?在业务层呢,大家注意啊,看咱们是不是得得在这个业务层里边创建一个get套啊,对吧,那怎么办呢?哎,就根据这个提示逆向升呗,对不对?首先在接口中是不是生一个盖套啊,注意看啊,接下来问题来了啊,如果按照我们以前来讲的话,你是不是得往左翻,哎,还得去找它的这个实现类啊。
14:12
双击它时间内点出来对不对,好,但是现在大家注意啊,明确告诉你们以后实际项目开发这里边儿包结构。特别复杂,这个类和接口老多了,你像大海捞针一样,你找一个文件,你想一想得花老长时间了,OK吧?所以说啊,我们在实际项目开发中,这些文件,我们想要的文件都是干嘛出来的,搜索出来的OK吗?好怎么办呢?双击student service,好连敲两下。Shift。好,是不是一下就找到了。看到没?看到没?我们现在是哪个项目,同学们是不是零三呢?是不是零三,哎,走一个OK吧,好,我们现在啊接口中多了一个方法,现在我们实现内是不是得重写这个方法对吧?好,现在我们需要调这个倒层student do,咱们来一个get。
15:12
二好,给我返回一个s lists list OK吧,好,把这个s list返回好,接下来重点来了啊,前面所有的东西都是我们以前学习过,接下来才是我们的重点,是不是开始开发倒层了?好,倒层首先啊,接口里边咱们生一个这个没问题吧,实现类还用写吗?不用写了,同学们怎么玩啊?双击student d,连敲两下shift找到谁。是不是这个叉ML文件呢,点一下咱们在这里边是不是写个词和语句就行了啊,来一个啊,Select,咱们来一个GET2RESULT type,咱们来一个student,好,Selecting from表。
16:05
再看看啊,这个也是全限定名是吧。嗯,别名还没学呢啊,下午再学别名的问题,OK吧。写完了,看看到城多长时间。就纯倒程不到一分钟吧,咱们将来啊,就写磁口就行了,时下类不用写了,OK吧,好,我们现在来运行一下啊,来运行一下。好使吧,没有任何问题,OK吧,啊,我们就以这个第三个版本为基准啊,同学们啊,在做这个练习的时候啊。行,先听老师说,先别着急啊,这些个这个架包正常导OK吧啊导完了之后啊,把这个包结构先创建出来,你可不能用到什么创建什么OK吧,包结构有了之后啊,Domain你可以copy过来都可以OK吧好U啊,如果今天上午时间不够,你可以先copy,老师你先用着OK吧好,最重要的是什么呢?开发到层以及业务层OK吧好,这点非常重要,那下节课做练习OK吗?
我来说两句