00:00
各位同学大家好,欢迎继续收看硅谷课堂项目视频课程,刚才呢,咱们演示了MP实现删除操作,包括ID删除,批量删除以及最后的逻辑删除,那咱们下面给各位来演示,用MP实现一些条件查询,比如说我们根据名称,根据年龄进行查询,我们进行模糊查询或者查询区间范围等操作,那下面给各位做一下演示。那怎么演示?首先我们先说明,大家看一下啊,在MP的官网有这么一段话,这里写到你只需简单配置即可快速进行单表的自卡操作,也就是说我们现在呢,如果说做单表的一些复杂的查询操作,LP里边给我们也做了封装,但是如果你想实现更复杂操作,那还需要我们编写SQL语句进行实现,所以下面给大家演示就是MP做一些比较复杂点的单表的查询操作。
01:07
那咱们看怎么来做,首先在里边呢,MP里边呢,给我们封装了一个对象,这对象专门用于构造我们的条件部分,大家看我课件中的这张图,我把这个图给各位复制出来,咱们来详细看一下这张图到底是什么意思。这里边我们看到啊,这个图怎么看呢,就是这个图呢,是我们软件中一个图叫做类图。它表示的是你类之间的这种继承关系,然后咱怎么看,大家看啊,这个类叫rapper rapper表示是它的里边的这个所有类的一个负类。这是第一个,然后你看啊,在父类下边有很多的子类,包括下边还有子类,这是一张类图,比如说咱们现在用这些对象都能够封装条件,我们这里边用的比较多的第一个对象,这个叫quary rap,另外还有一个这个拉的rapper,我们在课程中给大家主要演示这两个对象。
02:15
别的对象的用法跟这两个基本类似,咱们演示quary rap,还有这个拉姆的qua rap,那这个什么意思?各位看我课件中这么一个介绍。首先咱们看啊,就是每个对象呢有不同作用,Quary rapper用于实体类对象封装,而拉姆的quary rap很好理解,它支持拉姆的表达式的这种写法,所以这里边给各位做一个叫他演示,那怎么来演示,咱们这里边先看一下,然后咱们来做个实现,首先如果咱用rapper,它的做法其实很简单,你就是new这个对象。然后调里面的方法进行实现,我这里边给各位列了很多咱们项目中会用到的方法,首先咱们看第一部分啊,就这几个方法G。
03:07
GTT什么意思?就是咱们通俗说的大于大于等于小于小于等于,比如我查询年龄大于等于20的这个数据。这是第一部分,第二部分叫EQ和NEEQ用的是最多的,他表示,比如我的名称是汤姆,Ne代表不等于,另外还有这个like,就是咱经常说的模糊查询,除此之外还有这个order by,就是排序。所以这里边我把这几个方法给各位分别来做一下演示。那下面我们来具体看一下这个内容。首先这里边为了咱们演示效果明确,我再重新建一个测试类,然后这个类我给他改个名字,比如我起名叫这个。Query泰斯特。
04:00
DEMO1咱重新创建一个,然后在里边呢,首先还是注这个map在注之后,下面咱来写一下里面具体方法,这些我先都去掉,咱们重新来进行编写。咱们演示用query实现它这个条件查询。那首先演示中我们看一下啊,它的一个结构,给各位写一下,这方法名字我也改一下,我就叫query。这个然后怎么做,首先第一步咱们创建。这么一个条件构造的对象,然后咱们用这个叫queryper,里边加上你的实体类user,起个名字rapper,等于new上一个query rapper,这是第一步,然后第二步我们用rapper中的方法进行实现。那第一次咱先演示里边的这么一个方法,就这几个GEGT,其实方法用法都一样,咱就以一个为例,比如现在我用这个de。
05:13
注意啊,G里边两个参数我写一下啊,它里边哪两参数小位置,而GTT都一样,咱以G为例。说明。它有。两个参数。其实各位同学啊,应该能猜到它的第一个参数是什么呢?记住啊,是你表里边那个查询的字段的名称。然后第二个参数是以那个参数那个值,比如我查询年龄大于等于20,那这个年龄的字段是它的第一个参数,20就是第二个参数值,那咱写一下啊,现在我就查询年龄大等20,大家看字段名字叫age,那我在里边我写上一个age。
06:05
然后它的值,比如说我写个值,咱就来一个20,这样的话就可以实验一个查询,就是rapper这个构造,这就完成了,然后构造之后第二部分就可以调用方法实现这个条件的查询,那我们来调一下啊,User里面这个叫list里边把rapper传进去。这个方法咱刚才用过,因为刚才我们写的是一个,那就是没有条件插全部,目前把条件加就可以了,最后把它我就直接做个输出user list,所以现在这就完成使用,我这里以G为例,GTLT跟它的用法基本一样。这个咱就完成了,完成之后我们做个测试,首先啊,这个表的数据我先稍微改一下,比如咱都改成零,因为刚才我们提到逻辑删除的什么,只查等于零的数据,然后这个年龄,比如我写一个啊,假如这个我就写一个20,这个咱们写个十,这么查的话,年龄大于等于20的应该是有一条数据,这条数据。
07:16
那现在我来执行一下,咱们看一下最终的结果是怎么样,就看他能不能实现出这么一个根据年龄。大于等于20进行挑选查询。咱们最终试一下啊。我们看结果。然后大家看啊,结果出来了,这些数据应该查出来,就这个上硅谷上海这套数据,咱们看它底层的SQ语句。大家来看啊,首先delete的是不是等于零,逻辑删除嘛,只查没有删的数据,A值大于等于这个值,这个值是不是就是20,所以现在咱就把第一个操作也是完成了,用query rapper做了一个实现,这各位给他记住。
08:05
然后演示之后,咱们再继续演示,第二个操作用法都类似,咱就演示EQ,还有这个ne。那我来做个说明。我在里边写一下,因为他们的结构都是一样的,所以这里边呢,我就把方法复制一份,咱再重新写里边的核心部分,因为结构都一样。然后写到上面啊,这是我们的第二个,咱们叫QUERY2,里边演示两方法,EQ和ne,我就以EQ为例,首先里边的第一步跟它一样,还是谬上这么一个query rapper。然后拟完之后,咱们以EQ为例,里边两参数,那我重新写一下啊。点上EQ,第一个参数是你的字段,第二个是你的值,比如现在我来做个查询。我写一下啊,我就查询这个名称是上硅谷北京的这条数据,那再来查一下name值。
09:08
然后这是上硅谷北京这就叫EQ,如果ne那就不是上回北京的查出来,现在这就完成,咱们快速做个测试,看一下最终结果是怎么样的,我们来试一下啊。咱们等他执行出来。好,我们来看啊,现在这个结果已经出来了,然后最终得到的结果上硅谷北京就可以了,咱们看他条件。Name等于是不是这个值,所以这是第二个操作,这各位应该能快速写出来,很简单一个操作,然后咱们再演示第三个,第三个大家看这操作like。什么意思,是不是模糊查询,但你看后面啊,有一个叫like like,还有一个叫like right,那这是什么意思呢?给大家我先解释一下,然后咱们同样做演示。
10:04
这个方法我再复制一份,我们叫QUERY3,然后演示是里边的。这么一个方法是咱们通俗说到往后查询。那咱们看怎么来做,首先我先解释一下,比如说我现在在这里边,我写上这么一条S语句。咱们写一下。Select。星号,From user where。Name like是不是一个值,然后值里边,比如说我这么写啊,大家看这什么意思啊。我这里来一个叫上硅谷。这个各位应该能看懂啊,它就表示名称里边只要包含上归骨头都查出来啊,为了明确,再给他加上这么一个漂的符号啊。要不然看着不是很明确啊,Name就是里边只要包含上归骨,不管上规骨在哪个位置都查出来,这是咱们这么一个写法,或者说你看啊,我可以这么写。
11:06
这什么意思啊,以上规谷开头的是不是查出来或者说我这么做?是不是以它结尾的这些都是模查询,而刚才说的三个方法就这个实现,如果你写like,那就是百分号在左和右,如果你是left和right,那就分别在左和在右这么一个效果。这里边给各位最终演示一下啊,那咱看一下。首先这方法我重新写一下rapper,点上like,咱加上一个name,然后这个我们就是这个叫上归谷,这是写到里边的这个啊,写到这个引号中啊,上归谷。然后咱们看这么查询会怎么样。快速试一下这个效果啊,直接执行一下。这么查,如果效果正确,那它的参数值应该是百分号前后都有,只要里面包含上回谷,应该都能查出来。
12:04
那各位看啊,最终结果是不是两个数据,然后你看它的参数值是不是前后都加百号。注意啊,有一点特别说明,你写参数的时候呢,你不要自己加上百分号,这就不对了,它会帮我们自动加上,你看条件参数中是不是有这个百分号,这样的话就完成了,用的是like查询。那比如说咱们可以再试一个啊,我们再试一个。这行我先注掉。咱写个。Life夫道。Name这里边加上一个叫上规啊,咱看这个怎么样啊,我加个life看它会怎么样。现在。执行看机构。Like,刚才都看到了,前后都加百分号,但是我加上了like left看到会什么结果,Right不掩饰的因跟他正好相反。
13:02
然后咱们看啊,最终结果没查出来,因为我这个LEFT100分号在左边,它就表示以上回谷三个字结尾的这个数据,但是目前表里边没这个数据,他就没有查到,所以这样的话,咱就要把这个。Like like like和like right最终完成了查询啊,这就是模糊查询,这咱们也是完成,然后完成之后还有最后一个,这个比较简单,就是咱们经常说那个排序,排序各位知道啊,有升序有降序,升序是asc,降序是DSC,那这里边我把这个给各位最终演示一下啊,就这个排序。同样用这个方法,咱们给它快速改一下,看一下结果啊,给它改一下。这个是第四个。QUERY4。然后在里边。
14:01
这几个方法。啊,这个我们过来。然后咱们看一下啊,首先我在里边,比如排序这么来做,我用这个点上。DC,我们根据ID。做一个降序排列,咱们看他会怎么样。啊,做一个排序,我们直接试一下啊。直接看它的结构,如果你写asc,那就是升序,写这个就是降序。咱们看最终结果。啊,各位看到啊,这两个ID做了一个排序,然后咱们看他那个语句。Order这个就可以了,所以以上呢,就是给各位演示的。条件构造器中这个query rap的这么一个实现,分别演示里边几个方法,包括大于、大于等于这些方法,等于不等于,模糊查询,还有排序的方法,各位把这几个给它牢牢记住,因为我们在后面项目中咱们都会涉及到。
15:09
这个我们就完成了。买条件构造器的这么一个使用。
我来说两句