00:01
各位同学大家好,欢迎继续收看上硅谷视频课程,我们继续来学习买杯的plus。咱们m plus中的最后一个知识点给大家演示通过MP如何实现一些复杂点的条件查询。那这个该怎么做,给各位来说一下。我这里强调。在MP中呢,它给咱们封装了一个对象,这个对象名字叫rapper,通过rapper可以实现条件的构造,然后咱们调用MP中的方法,能实现对数据库一些复杂的条件插件操作。那这rapper怎么用,我们先看一下,我这里边有张图,这张图中标出了rapper,它一个基本的一个结构,那这图我们先这个说明,我给各位截一下,然后这张图咱们先看一下。首先各位看啊,这张图呢,应该说是一个类的,是不是一个继承关系,首先它最顶层这个类叫做rapper,然后rapper下边是不是有很多的子类啊,包括比如说里边有很多,而子类中咱们用的最多的都是用到这个东西,叫query rapper。
01:17
因为query rapper中有比这个rapper本身更强大更丰富的方法,所以咱们在做条件场景中一般都是用query rapper这个实验,那这东西怎么用,咱们先看一下,然后给大家做演示,用法其实很简单,咱就直接啊new一个qua rapper里边传入设计类的类型,然后调里边的不同方法实验的操作,我这里边给各位列出了一些常见的方法,我们先看一遍。首先第一类方法就是GGTELT等等,就是大于大于等于小于小于等于等方法,第二类方法EQ就是等于不等于方法,比如说name等于汤姆,Name不等于汤姆,包括这个between在某个范围,Like,某查询,Order by是做排序。所以咱们给各位就演示这么几个常用方法,因为咱们在后面项目中我们会用到。
02:16
那我下面给各位来演示一下,首先我们先演示第类方法,就是里边的这几个方法,我就以一个为例,因为其他的都差不多,咱以它为例给各位演示,那我来写一下。就是下面给大家演示用MP实现一些复杂的查询操作。首先我们先演示,就是第一类操作,我写一下。我叫test。Select这个方法,然后在里边呢,我们第一类操作在先演示GT这个方法,那怎么做呢?首先第一步咱们先创建一个条件构造器,这个条件构造器你可以用这个rap创建,但是咱一般就用这个对象叫query rapper,因为里边有更强大的功能,里边加上你的这个类型,我们叫quary rapper,等于new上一个qua rapper,这是第一步,然后做到之后第二步咱就可以调用query rub中的方法实现,比如说我们现在调一个叫PE。
03:27
是不是就是大于等于,里边有两个参数,第一个参数注意啊,第一个参数是你表中的字段名字,第二个参数是我们的值,比如现在我来个记忆,我想做个操作,我想查询,比如这个年龄大于21岁的,这个就数据,那我来做这操作,所以里边会用方法,如果大于的话,应该是GP,咱写G应该是大于等于啊,那我就用G了,第一个参数。你的字段名称,第二个是你的值,咱的值是21,所以这样的话,我们通过query rapper构建的条件就是A大于等于21,然后构建之后咱可以调用user micro中的方法,我们用这个select例子里面就传入咱们这个条件构造器,最终得到我们的结果,咱们把结果最终做一个输出。
04:22
Users,所以这样的话呢,我们就完成了第一组操作,就是GGP,你这操作它的做法都是一样的,第一个你表里面的字段名称,第二个你的值,然后根据它做一个条件查询。所以咱们写完之后把它执行一下,我们看一下效果是什么样的,就来测试一下这个效果。咱们看里边最终呢,得到了我们这个三条结果,就是这个年龄是21 24 28的,然后咱们看它的语句中,是不是就是根据A就大于一个值,另外你看啊,这个咱们刚才说过,是不是查你那个没有删的数据,就是第等于零的数据,所以这是我们的第一类方法,就是大于大于等于小于小于等于这个方法。
05:11
给各位做了演示,然后演示之后咱们再看第二列方法,就这两个方法,一个叫EQ,一个叫ne,它代表就是等于和不等于,那咱们来做个实现,现在这行代码我先给它注掉。然后咱们写下一个。就是EQ和E,比如现在我做过查询,我用EQ,我想根据名称是汤姆这个值做查询,就是name等于汤姆做查询,那咱们就想这个。Name加上它的条件值,最终我们可以做一个操作,这是第二个方法,就是EQ,那我们来执行一下。我们看一下效果什么样的。咱们看里边最终呢,应该能够得到我们想的结果,结果就是一条记录,然后它里边是name等于一个值,当然你写个ne,那就是不等于啊,等以EQ为例给我做演示,所以这是第二种方法。
06:13
然后除了他之外,还有第三组,就是这个比T,还有这个note比T。比between表示带区间范围,Not be between是不是就是不在这范围,那我下面给各位演示这种方法,就是比between这个方法。那比如说我们做个操作,假如现在我想查询年龄在这个24~28这个范围中的这个数据,那我们用比between可以做到。那咱写一下query rapper.between里边有三个参数,第一个是你的字段,第二个是字段的就是你的开始值,比如我们是24,第三个结束值28,这么写的话,它会查询年龄在24~28这个范围中的这个数据。这个。
07:04
我们做了一个编写,就是比正方法,Not between,就是不在范围。那咱给他执行一下,看一下效果。再看它到底是什么样的。我们来测试。然后各位看,目前结果已经出来了,查出了两条数据,就是24 28,然后在里边你看啊,它的语句就是age between and。中间这个值,所以这是抵退这么一个方法,它的一个使用各位给他知道,然后除了这个之外,下面这个方法用的很多。大家看是什么,是不是就like呀?Like什么意思?是不是就是某查询,你看啊,Like Mo查询有一个叫like not like就是不在这个版中的,包括like like like right。这什么意思?或各是否知道啊,我写一下,比如说我们查询,假如我根据名称是不是加个like,然后like后面是不是加值,这值的时候是不是要加个百分号,比如来一个张是不是可以这么做,而这个left和right就表示以百分号是在左边还是在右边,比如我们在左边,那肯定是。
08:15
这个样子你在右边,那肯定是跑到张的这个右边是不是这个样子,所以这是关于里面这个方法,那我下面给各位演示一下,主要是以那方法为例,做一个模糊查询,那咱们来试一下,看一下效果是什么样的。咱们来做一个测试啊。然后现在呢,我在里边,比如说我在写上这么一个条件。我就想根据这个名称做查询,假如现在我想查询就是姓张的这个数据,或者想查询只要里面包含张的这个数据啊,为了明显我加几个值,在这里来一个张。啊,就这个值,现在这两都不含章,我想对它做模查询,那这里边咱可以用query中的like方法里边传入name,然后这里边加个值,就是这个张。
09:09
只要里边包含章都进行查询,然后咱们写完之后把这方法执行一下,咱们看一下效果是什么样的,我们来做个测试。等他出来。然后大家看目前的数据应该是做了这么一个查询啊,就是咱们把数据给他应该是查到了啊,啊,当然这个章是一一是已经删掉了啊,比如咱给他改一下,等它有多条记录啊,我把这个再执行下。因为它只查BJT等于零的数据,如果你是一,他肯定查不出来啊。那咱们看。目前呢,应该是两条数据,一个是这个Lucy Mary,张,一个张三,然后它里边的语句就用到了like,在like中有一个地方各位特别注意啊,你看啊,我刚才写的时候。
10:03
张的前后我没加百分号吧,他是帮咱们加上了,所以这是它一个特点。所以这就关于模糊查询这么一个方法,叫like方法。重做了演示,然后除了这个之外,还有最后一类方法,就这些方法。大家看这是什么意思?是不是就是order by排序啊,比如我现在根据ID,我可以做个升序或者做个降序,就是一个排序功能,那咱们最终给它叫排序项。看一下这个方法。比如说我现在我想根据ID做一个降序排列,那我们用curry rapper里边这个order by叫DSC,里边加上你的字段是不ID,这样的话就会根据ID做一个降序排列,Asc是其升序,DSC是不是降序。那咱们把它。执行一下,看一下效果啊,最终是什么样的。
11:01
知晓。然后各位看目前效果出来了,它就是针对ID做了一个是不order by DSC这个降低排列。所以这样的话呢,我们就把LP里边一些复杂一点的条件查询方法给各位做了演示,当然里边还有其他方法,我这里也是,这些都是咱们后面用到的,当然还有些细节,咱后面在项目使用中会详细说到,现在大家把这几个最基本方法给他先掌握。所以咱们就也是完成了,也就是说到这里为止了,咱就完成了MT实现对数据库的增删改查操作,大家重点掌握这么一个操作,最终总结变啊,第一个操作,大家掌握MPCC数据库的添加操作,第二个修改操作,第三个逻辑删除操作,包括第四个查询操作。
12:00
查询中包含ID查询,多个ID批量查询、分页查询,还有最后这个复杂点的条件查询,这些各位都要掌握。然后咱们又演示了LP中的两个特性,一个叫自动填充,一个叫乐观锁,以及LP中这个主键策略,它这个特点,所以这些各位都要给他掌握,因为咱们的项目中要使用LP实现对数据库的操作,所以咱们今天的内容中就完成了my plus这个讲解,大家把这知识点大家好好去练习一下。
我来说两句