00:02
大家好,我们继续来学习猫DB的结果操作,刚才呢我们演示了通过mango complete实现对猫DB的添加操作,查询所有操作,那咱们下面继续来演示,下面呢给大家演示就是根据ID做个查询,那咱们看根据ID查询在猫DB中该怎么进行操作。那我下面给各位写下这个相关的方法和写一下。ID大学。然后里边我创建一个方法。我们写上一个test,然后public,比如说起个名字叫find这个ID。在里边写上它的方法。然后这个方法是调用mongo,他里边这个方法,咱们来找一下这个方法大家看啊,在里边呢,有这么一个方法,这个方法名字它叫做泛的,什么是白递,里边传入两参数,第一个参数就是你的I地址,第二个参数是实体内的class。
01:13
因为咱们是一类是user,最后写上一个user点卡,然后这里边传入我们的ID。ID,我到里边把这个ID给他就汇过来。然后咱们给它放到这里边,然后这样一查询,大家看它返回到是不是一个对象,就是根据ID查询出来这个对象,然后咱们把这对象做输出,这样的话根据ID查询,我们就点完成了调用半的白地实现这个操作。那咱们下面把它来做一个测试,看一下最终的效果是什么样的。我们来试一下。然后各位看现在的结果是不是出来了,就是返回ID查出来一条数据,所以这是我们的,就是第三个操作,各位把这个方法给他,记住都是使用mango to实先对猫DB的相关的操作。
02:15
给各位来寄过来。然后这个演示之后,咱们下面继续来演示,那下面演示什么呢?给各位来说一下。刚才呢,我们是查询所有还有根据ID查询,那下面呢,给大家点一个操作,那就是在猫DB中如何进行条件查询操作,比如说我现在根据名称,根据年龄都可以进行条件查询操作,那下面咱们看一下这个我们该怎么去做,那我下面给各位来写一下这个相关的方法。我用它咱们快速改一下,这个就是条件。
03:03
查询,然后在里边呢,我把这个方法给它起个名字,比如咱们起名字我就叫find。优色等。在下面咱们加这个条件,比如说我现在我想一个条件,假如说我现在啊,我想根据就是名称等于这个test,然后并且这个年龄就是它等于这个20,咱们做一个条件查询。那咱们看这个该怎么去做,那给各位来写一下。咱们也是调用mongo汤姆利中这个方法,这方法它就叫做find的方法,然后饭的方法中大家看两个参数,第一个参数它叫做query对象,第二个参数是事的class,也就是user.class然后这个宽RY是什么呢?给各位来说一下。因为咱们现在是不是要有一个条件,所以我们在里边呢,要把条件给它构建出来,而构建条件就是用query并构建,那咱来构建一下,怎么构建,给大家写一下,咱们就是new上一个query。
04:15
然后在cur中呢,有一个对象,这个对象名字叫做criteria,然后写一下teria,然后用它呢来构建你的具体条件,因为咱们的条件是不是name和位置,那怎么做在criter里面一个方法,这个方法叫做where,在where里边呢,加上就是你数,就是你这个猫DB数据库中那个。Collection里边那个字段的名称,因为咱是name,然后后面加上你这个值,因为咱是name等于T,所以后面写了一个叫做意思方法,里边加上值,这个值就是test。而这个写法就好比说咱写语句的时候加个where name等于T的,在while DB中用这种方式进行表示,然后咱们继续来看后面咱是不是要加上一个按A是等于20哦,所以怎么做点上一个方法,这方法就叫做and。
05:15
然后在and里边呢,加上你的另外一个字段,我们是A,然后点上is,这个值是20,所以咱这么做就好比说name等于T子的and a等于20,用这段话来构建出我们的条件,然后最终咱们把这个封装好的块对对象给它放进去,就完成这么一个。差距操作,最终它返回是一个历次集合。最后我把这例次集合,我们做一个输出,这样的话就完成一个条件的这么一个查询,所以各位把这个给他记住,主要是里边的这段写法。criteria.where name等于导。
06:00
然后后面是按H等于20。这个我们就完成了,然后完成之后咱最终执行一下,看一下我们最终的效果是什么样的,就看一下条件查询最终能不能生效。我们来执行。然后各位看最终的效果是不出来了,所以咱们现在就完成了在猫DB中用猫狗汤里头实现对猫DB的条件盘操作,主要就是里边的这个代码,各位把这个给他都要记住。所以咱们现在把条件查询就完成了这么一个操作。然后条件查询完成之后,咱们下面呢,给各位进步演示,因为各位都知道我们做条件查询的时候呢,还有一个条件查询是很常用的,它就叫做模糊查询。这模糊查询各位应该都知道啊,什么叫模糊查询?比如说我现在就查数据库中姓张的人的信息,或者说我查询数据库中只要包含章的这个字都查出来,这就叫模糊查询。所以我们现在就用这个mango to里实先对猫DB这个模糊产操作,咱们看它该怎么进行实现,那后下面给各位来写一下这个模糊产操作。
07:25
我在里边写一下。Mo查询,然后这个怎么做给各位,在这里边具体的我们来写一下。那我在下面我在创建一个方法,咱们做的就是。查询。然后这里边比如说给他改个名字,我就叫这个find的这个like user。给大家强调,这个写法跟刚才的条件查询比较类似,它也是调用mongo to中的换的方法做查询,就是这一步是不变的,然后它也需要构建条件,而它构建条件时候用的肯定也是query对象,只是说query对象中大家注意啊,刚才写的name是不是意思?
08:10
T的就表示内部是不是等于T的,而现在这个位置。我们写的。肯定不是,意思应该是一个就是like,这个值也是我们写语句应该是写一个like,而这个该怎么写,给各位来说一下。有同学可能会想,这里边是不是应该有一个like方法呀?那我们来找一下,大家发现好像没有like法,它不是这个方法,所以它里边并没有那个方法,而这里边怎么做呢?它有这么一个方法。给各位来写一下啊,大家看这方法。不知各位是否知道这个方法啊?咱们在Java基础中应该有类似的一个方法。给各位提个做个提示,大家知道一个东西叫正则表达式吗?跟它比较类似,所以它好比说就是一个正则的方法,然后再用它做一个Mo查询,里边用这个方法,然后在里边呢,大家看传的是一个part,一个对象,用它来表示,就是你正则那个规则,比如我们现在根据什么方式进行匹配,匹配是什么值,所以用这个方法做个匹配。
09:16
然后这里边加这个pattern这么一个对象,所以它里边是这么一个写法,然后这个写完之后,下面再来写一下pattern这个相关的这个值,看它该怎么做,然后写一下啊,咱们首先写一个pattern。TTN。然后我们叫part等于。就是pattern。点上里边的一个方法,这方法叫compare派,然后在compare中咱们传入两个值,第一个值是里边就是你的正则的匹配规则,比如说再来个参数,后面咱给它再还进去。
10:00
我来一个参数,然后后面加上一个值,这个值呢,来看它的方法中是什么,这就是一个int的这么一个固定值,那这个值呢,咱可以从这个它的里边取一个常量,直接用这个值就可以了。那我写一下。里边一个常量是,这个叫K。这么一个创建,咱们把它写上,所以现在咱们现在就完成了pattern这么一个对象的创建,然后创建之后把pattern传过来就可以了,然后根据它这个匹配,然后这个写完之后,然后往上看,里边是有这个参数没有,所以咱们需要设置一下它的匹配的规则,那我来写一下。比如说我现在我就接来一个固定值了,Name因为在是T,假如说我约定只要我这值中包含这个EST都查出来。然后下面呢,咱们来一个string。被告。变量等于咱们的这个规则,我们用string直接来拼接这个线关值,就这个后面,然后在里边我们做入这么一个拼接,就拼接上它的一个匹配的规则,然后这个规则我就从课件中直接复制了,就是里边的这个规则,它就表示只要我的值里边包含这个EST,那都进行匹配。
11:20
这是我们写的这么一个规则,然后写完之后下面用query构建出的条件,最终咱们调用mongo to中的find的方法就可以实现,我们就用这个模糊缠操作,所以这是关于用mango to me如何实现模缠操作,这过程稍微要麻烦一点,给各位再说一遍,首先我们用query构建条件,然后里边用pattern构建你的匹配规则,通过这种匹配做拼接,最终调方法实现我们的操作。然后洗完之后,最终咱们执行一下,看一下最终的效果是什么样的。
12:01
我们来执行。让各位看。现在这数据是不是查出来了,所以这就是关于模糊查询操作,各位主要记住里边这种就是条件的构造过程。这咱们就也是完成了,然后这个点之后呢,咱们继续往下看,下面肯定还要操作。大家知道咱们做查询中,除了查询所有ID查询、条件查询,模糊查询之外,还有一个也是很重要的查询,那各位同学帮我想一下,大家说还有什么查询很重要。也是我们在诗句中经常用到一个插曲。我觉得各位应该能想到是不是有一个叫分页查询,这个查询各位应该经常见到,包括咱在后面的项目中,咱也会用到这个分页插曲,所以我下面给大家就来演示一下。
13:00
在猫DB中用mango to如何实现这么一个分页长音操作?给各位来具体写一下这个操作,那咱们看怎么来做。首先我在里边也是创建一个方法,给方法改个名字,我们叫办的配置user意思。然后写完之后,大家知道咱们做分页的时候呢,至少需要有这么几个参数,包含你的当前页,包含你每页显示的记录数,这些是不是都需要,所以现在我在外边先定义几个固定值,实际中这些值咱需要传过来,目前咱们测试先写固定值,第一个就是我们的当前页。给咱们来一个int类型,配置O代表当前页,再第二个我叫配置size,就是我们每页显示的记录数。然后写完之后,下面呢,咱就可以调用方法来做一下这个分页查询操作,那怎么做给各位写一下啊,比如说咱写的完整点啊,我们加一个条件查询,再分页,把这条件部分给它也加过来,就是刚才咱们写的这段话。
14:17
我把这个代码给它就直接复制过来。就是到这个qua啊,给他直接拿怪。咱先放到这里,然后大家看啊,现在我这里边这一段是咱们刚才写的是不是这个条件场景部分,最终在宽里边有咱们条件部分。然后除了这个之外,下面咱们写的就是分页的这个构建的这么一个部分。我这里写一下啊,这问是。条件构件部分下面来写分页,那分页怎么做?给各位来写一下,首先第一个各位要知道分页查询的时候,咱们是不是需要查询表中有多少条记录,所以我要查询一下你的。
15:02
记住数,那记住数怎么做调用这个mango他们就用一个方法,这方法就叫做count的方法,然后count中第一个就是咱的query,第二个是实体类的class。然后这个方法最终返回到就是我们说这个递注数,所以咱们现在给他就可以查出来。然后这个查出之后,下面的咱们可以做一个分页插曲,然后写一下啊就是。我们调用mango汤中这个方法叫饭的方法。然后换的方法中呢,我们怎么写,因为大家知道啊,咱们做这个操作中呢,需要当前页还有每月技数数,所以咱用一个叫query,点上一个方法叫这个skip,然后里边呢,传入这么一个参数,什么参数呢,给大家写一下哈,就是。当前页减一。
16:02
再乘以你每页显示的记数数,这表示得到咱们查询的那个开始位置,然后咱后面点上一个limit,加上你每页显示记录数,最终再加上我们实体内的。Class,这样的话就完成了分页查询,然后它最终就把你分页查询之后,这个历次集合就做了一个返回,就是里面这个右侧是这是咱们写的这个代码。然后这个代码给各位大来说一遍啊,稍微要麻烦一点啊,然后你看写法中,首先我们要办的方法,它的第一个参数就是你要查出这个数据,而这个数据中,注意我是这么写的,你看啊,Skip什么意思?是不是就跳过呀,然后现在就是表示我查的位置,因为我们的开始位置有个计算公式,就是当前一减一乘以每计数数跟咱们买数中是一样的,然后这点开值位置,比如说我现在查里边的第一,那这值是不是零,然后零这个值就是每页我们显示的计数数,然后第二页这个值肯定就是当前页减一乘以每计数数,然后最终再查出每页有多少条计数,以此类推,通过SK,通过limit。
17:21
实验出一个分页查询,这是咱们的一个基本查询,然后这个写完之后,最后我把这结果做个输出,第一个就是count记录数,然后第二个是users,就是分页查出的最终结果。这样的话,分页查询我们就完成了。各位把这个代码再好好看一看,这里边也用到了咱们买色狗中的知识,跟之前应该是类似的,只是现在我们用到猫DB中。然后咱们做一个测试,看一下效果。各位看。最终的结果是出来了,首先我们一共有一条记录,然后这是我查出的最终的数据,这是关于分页查验操作,咱们就做了一件事。
18:08
所以现在呢,给大家就完成了这么几个演示,我在这里边给各位来简单总结一下啊。首先里边的第一个操作就是我们说的添加操作,然后第二个操作查询所有操作,第三个操作根据ID查询,第四个条件查询,咱们根据名称年龄查询,然后第五个包查询,也就是写个like,然后最后一个查询就是分页查询,根据我们的当前页每页记录数进行一个分页查询。所以现在我们演出了这么一个操作。
我来说两句