00:00
好,我们刚才把这个hello word,呃,就算是写完了。比如说呢,但是之前的这个hello word。有一些问题,什么问题呢,我们来看啊,每次我们要增删改查的时候,这个蛇口ID挺长的,得写成名串,包括哎,我们来传的这个参数。因为我们这个API里边,我们也看到了object,它传的是一个对象,所以说呢,什么都能传,那我要上手来传一个ABC,这能查出来吗。我们这个数据库里边的ID字段,它是一个配的,所以说呢,不能乱传。啊。接下来呢,马贝蒂斯就为我们提供了一个更高级一点的方式,我们来看文档。好,在文档中呢,好,这是我们之前的示例,哎,调用API传入SQ的ID,然后呢,传入参数往下翻,哎,这有一个他说呢。哎,这是你我们刚才使用的这种方式,是马贝蒂以前的版本这么来做,现在呢,我们需要,哎这么来做,你可以使用一个接口。
01:07
来写一个接口,这个接口呢,来描述我们给定的这个SQL语句的参数啊,以及返回值等等信息。比如说呢,我们来升级一个用接口。我们来写一个接口。以前呢,我们也经常是先写一个接口来定义跟数据库的操作方法,再去实现类。现在呢,还是把接口拿到就叫employee好,为了看起来呢,我们这个也是操作employee表的,我们也叫employee好,我点一个finish。在这个接口里边呢,我就规定一个方法叫M和E。返回employee get。按照ID返回。Employee对象。好,传入一个定。行,这里边儿有一个方法,如果是以前,我们该为这个接口写一个实现类,但是我们来看这个接口就是用来查出employee记录数据,并封装成employee对象的。
02:13
而我们这个map文件。它的这个功能也就是从employee表中查出数据,封装employ对象的。所以说我们MY提供了一个功能接口,可以与配置文件进行动态绑定。怎么绑定呢?那么第一步,Name我们以前还只随便自己写,现在呢,不要随便写了,能指定为接口的全类名。指定为接口的全类名,好,这样的话呢,我们把接口的全类名复制过来,哎。你这一块只要指定是接口的权利名马贝蒂斯就知道了啊,我这个配置文件和你这个接口进行绑定,那接下来呢,我们再来看接口里边有一个查询方法。
03:07
我们接口里边呢,有一个按照ID查员工的这个方法,而我们插麦文件中这个select标签里边,它的功能也就是按照ID查员工,我们接下来可以把所有标签的ID改为方法的ID。这样的话,哎,我们不仅。这个文件和接口绑定,我们这个select标签也和这个方法进行了绑定,哎,意思就是我这个select标签是你employee member这个接口下get e8id方法的实现,好,写好以后我们再来测试,来到测试类里边两处绑定,绑完以后呢,我们来写一个测试。好。凡是我们第一步先获取到circle。
04:04
获取我们这个circle session。哎,这几步呢,大家应该烂熟于心。那么后边即使是研究源码,也是按照这些研究的获取session范。好,这个对象呢,因为经常要获取,我下来呢,抽了一个方法就在这儿啊,直接拿就行了,好,我来。调用这个方法。好,调用这个方法得到CIS factor第二步我们也知道。使用这个工厂是不是获取一个circle session对象啊,使用哎,获取咱们这个circle对象。好,我们就来获取circle session function点好,我们来看怎么获取,我们文档里边说是open session,之前我们已经写过了,Open分30,接下来第三步。如果是我们以前该调用open session的增删改,查API传入的标识。现在。
05:05
既然我们跟接口有了绑定,我们不那么做了,来看文档。文档里边呢,用session对象get方法,先获取到这个接口的实现对象。Get。好,我们把接口进来,我们叫employee member。Class。好,我们拿到了这个employee,然后呢,我们第三步就是获取接口的。咱们这个实现。内下。他的这个对象。完了以后呢,我们再来调用接口的方法,哎,我们接口有一个get mp8id好传入。我们一号员工,我要查出来。好,查出来以后呢,我们来打印一下。
06:00
把它们都放在串块里边。我们将来要关闭资源。好。然后呢,Finally。你把这个资源关掉。获取过来的session。好。然后说呢,我们现在的方式是拿到接口的实现对象,然后调用接口的方法,诶你看啊,我们这个接口并没有写实现类,但是你要能方法调成功,那肯定得有一些东西我们来测试。走。哎,测试是正常的,虽然我们没写时间类,包括运行也是正常的,打印的结果正确,要说呢,这是我们,哎D,这是我们第二种我们可以获取到一个接口的实现类,但是我们都说了没写实现类,它获取的是什么?我们可以在这先预先看一下。看一下它的类型。
07:04
啊,我们就先呢,先来看一看走。诶,这是什么类型啊。是不是代理对象啊,哎,所以说呢,你只要把接口跟我们插麦文件进行动态绑定,MY就会为你自动的创建一个会位。接口,接口自动的。自动的创建一个代理对象。然后呢,代理对象。去执行增删改查方法。也就是说呢,我们这个方法的执行者是他的代理对象啊,这是我们第二种哎版本,也就说呢,而且也是我们后来用的最多的版本,因为接口式编程它有非常多的好处,首先第一个好处就是。我们接口规定的方法是不是拥有更强的类型检查,我让你传配,你就不能传double,哎,包括呢,返回值我们也有,哎,我们有明确的返回值,哎,包括我们接口,我们接口呢,本身就是一种抽象,哎,咱们抽出了一个规范。
08:18
这样的话呢,对于你接口的实现,你可以去用MY来做,我们也看到了myab为接口创建了一个代理对象作为实现,你也可以用net去做,你也可以用我们以前用过的DBS啦,或者JDBC都来做,我们用了接口以后呢,把咱们这个do层的规范跟它的实现就能分离出来,方便我们后来开发扩展和维护好,所以说呢,大家后来也应该更多的去使用我们第二种版本接口式编程。下来大家把这个来敲一下啊。
我来说两句