00:00
那我们在做前面的这个啊,应用程序的测试的过程当中呢,有几次都出现了这样的一个rapper rapper是什么呢?它是一个条件构造器,它啊能应用于什么位置呢?我们看一下之前我们的这个应用程序的代码啊。我先把其他的程序都关掉,我呢来打开。我们第一个例子。在我们的第一个例子当中呢,我们调用了一个select list的方法,那么在这个select list方法的后面呢,有一个参数,这个参数呢,就是一个条件构造器,它名字呢叫rapper啊,它名字叫rapper,好,那这是干嘛的呢?能够帮助我们组装各种各样的查询条件,从而呢,能够根据我们组装出来的查询条件进行一个有针对性的查询,那之前组装查询条件呢,实际上我们呃使用了一些方式,我们先来总结一下之前我们呃这个在查询的过程当中都用了哪些方式,好,我们先来看一下map test。
01:02
在这个地方呢,我们的查询实际上用了一种比较简单的方式,就是封装map。啊,我们把需要封装的,或者是说需要封装在where语句当中的查询字段呢,都放在了map集合的键当中。然后字段你所要查询的值呢,放在了他的这个键值对当中的值当中,那这样的话呢,我们就可以非常方便的组装出一个查询条件来,但是这个查询条件它是有局限性的,它呢只能放在where语句后面的一个and的连接的一个表达式当中,并且呢,Name和这个名字之间呢,也是用等号连接的,比如说我们想做模糊查询呀,啊,想做大于小于的判断呀,它实际上都是实现不了的,那当然了,假设说你想做类似于模糊查询或者是大于小于判断这样的一些工作的话,我们怎么做呢?那目前为止我们所采用的方式呢,就是自定义map。
02:02
啊,所以呢,后面呢,我们又做了一个叫select or by name的这样的一个自定义的map,那么在这个map当中呢,我们对应自己创建了一个SQL语句,那么我们自己可以通过自己定义的SQL语句来非常灵活的帮助我们完成一些复杂查询,所以这个呢,就是之前我们所做的关于查询的啊所有的这样的一个例子了,那么也是到目前为止我们所掌握的关于如何组装查询语句的这样的一个所有的解决方案了,那么除了这两种解决方案,当然第二种是最为灵活的,它可以啊组装出任何的SQL语句来,是不是啊,那么第一种呢,是相对于。比较啊,就是不太灵活的啊,好,那么我们有没有一种用起来还方便还灵活的一种方式呢?就是rapper了,好,所以接下来呢,我们来简单的了解一下这个rapper条件构造器,因为之前已经给大家留了作业了哈,那么我们来看一下,大家应该对这个图呢,应该不陌生了,这个呢,就是我们rapper家族的一个核心的一个成员了,叫rapper,它是一个抽象类哈,然后它下面呢,有一个叫做abstract rapper,也是抽象的,然后在这个abstract rapper下面呢,有三个儿子,这三个儿子有一个我们用的最多的就是最右面这个,他叫做query rapper。
03:25
啊,那很显然是查询条件构造起,那另外一个呢,就是update rapper,那很显然就是更新条件构造起,好那么和他们两个互为兄弟的呢,还有一个叫做abstract lammeda rapper,那么同通过这个名字大家可以发现这个里面呢,是可以用一些lammada表达式的用法的,那么在这个abstract lamda rapper,很显然它是一个抽象的,所以它必须有实现类,那么它有两个实现类,一个呢就是lammada update rapper,还有一个呢,就是lamda query rapper啊,那么我们可以想象得到或者说可以猜测得到这个lammada。
04:05
Query rapper呢,实际上就是用lambda的形式呢,来完成查询条件的构造,那么这个lambda a rapper呢,就是用lada的形式呢,来完成更新条件的构造啊,在我们平时开发的过程当中,实际上啊,我啊我个人啊习惯呢就是用这种形式的比较多。用这种形式的比较多,用这种形式的呢比较少,但是实际上根据你自己的习惯吧,啊,你可以选择这样的两种的不同的形式来写我们的条件构造,那么相对于来说比较好理解的呢,是这种形式,所以呢,我们先来说这种形式,然后再来说这种形式啊然后后面呢,我们还会分别比较一下query rapper和update rapper,它的一些应用场景都有什么,所以呢这个呢,就是我们的rapper家族能够帮助我们组装条件,好那这个条件我们也可以从这个里面获取到一些信息,就是我们组装条件不一定是针对查询语句的,我们可以针对查询语句组装条件,可以针对更新语句组装条件,可以针对删除语句组装条件啊都是可以的。好,那接下来呢,我们就来看我们的这个第一个例子。
我来说两句