00:00
就下面啊来演示MP做了一些简单查询,那检验查询有什么?首先第一个查询,咱刚才演示过了,就是这个查询。这个查询咱看到啊,Select by ID,它是不是就是根据ID做个查询啊,就根据ID我们可以做到这个查询操作啊,这是我们说的第一个。我写一下啊MP。简单查询,首先第一个查询就是根据ID做查询,然后它的做法就是咱调这个user map中的叫select,白地里边你传个ID址,它就可以做到操作啊,这是第一个,也是一个最常见的一个查询操作,然后除了这个之外,下面还有两个查询,这两个用的相对少一点啊,但是给大家也做演示。那我们看第二个查询。他叫什么?叫做多个ID的批量查询。啊,那这个给大家演示一下啊,第二个查询。
01:03
多个ID的批量查询,那这个查询怎么做啊,给大家我直接啊,咱就写一下代码了。小D位置啊,就是多个ID的。批量查询。然后在里边啊,比如说我写一个方法啊,就是这么一个结构啊。用它了,比如我这个叫T这个。死头。啊,呆。某一。然后这个怎么做到呢?这里我写一下啊,在我们的user map中有个方法,大家看,这个方法叫select be ids。这个方法啊。给大家复制过来,咱们现在要用的就这个方法,叫select。Be ids,而这方法什么意思?它就是你看这个啊,Select查询be是不是有批量ID,加个S表示是不是多个ID值,然后你看里边传的是什么,这个叫collection。
02:02
这个各位应该知道啊,Collection是不是一个集合呀,比如说我们的例集合,什么集合都记成它嘛啊,所以咱们要专规集合,所以下面来用它来做这么一个传操作,那怎么做?其实很简单,你在这里边直接传过集合,或者给它直接构建集合,然后传入你的多个ID值,最终反应这个数据就可以做到啊,那我们来直接操作一下啊。这个叫select be ids在里边咱传个集合,这集合我就直接构建下了啊,咱来一个叫A瑞点,这个叫。应该叫I list在里边呢,我们就要传入多个ID值。啊,比如说啊,我就找两个ID值咱传进来啊,呃,有这个一号啊,咱就传个一二,包括还有这个三。当这ID值在传的时候啊,这里边你可以加个L啊,不加他也没错啊。咱给它加上啊,比如我就查这个三个,就是ID是一,ID是二,ID是三的这三条记录,把这个做个查询,最后它会有一个返回值,就是一个历次集合,然后咱们把这个历集合最终做输出,这就叫做多个ID的批量查询,里边你传个集合,然后集合中就是多个ID值。
03:21
啊,这写法各位给他要知道啊,咱后面会经常这么来做,或者说你直接啊new release把例子传进来也可以啊,但是咱为了方便直接这么来写了。然后这个代码执行一下哈,看一下结果。就是多个ID的批量查询。啊,咱们来测试啊。啊,我们看这里边啊,应该已经执行出来了啊,然后执行之后,咱们看一下最后一行,先看他那个语句部分。大家看语句中,在语句这位置,你看啊,Where是条件ID。
04:00
加个什么?是不是一个阴的表示在这个里边,这个值就咱有123,然后他把三条记录应该都查出来了啊,所以这是第二个操作,就是多个ID的。批量查询啊,大家把这给它会写啊,就是你习惯一下里边这种写法,这个address as list啊,通过例来传值,或者说你new个例子一样啊,当然很多时候我们都习惯直接这么来做。啊,这是第二操作,多个ID的培养查询,然后这个做到之后还有第三个操作,这种操作实际中一般我们用不到啊,因为咱们做条件查询后面都用到,最好给大家讲的这种方式,但是里边写到我也做个说明,做个演示啊,但是这种查询后面是用不到的啊,这我就不在这里边写了,给大家直接就演示一下了啊。这我就复制了啊。咱直接看一下效果啊。就你知道啊,不同的写法啊,当然后面基本上很少去用这种做法啊。
05:01
然后咱看怎么做啊,就是现在这个做法的含义就是它有一个方法叫select by map,表示你可以根据条件做查询,比如你看现在啊,里边有name和A,它就表示你根据这个name值和A值做查询,那比如说咱找个有数据的。讲这个啊。这是join,这是18啊,比如传这个值啊,这是18,那现在就表示我们查询根据name等于join,然后按照A等于18把数据查出来,就是做做一个简单的条件查询用的方法叫select by map。啊,这个大家知道一下啊,但是咱后面做查询就用咱们一会儿说另外一种方式,就是一个叫条件构造器做的,但是这个也算是一种方式。啊,只是后面不用大家了解一下啊,然后咱看一下你看条件。在where后面,Name等于指and是位置,等于指最后结果,就是我们这个一条记录,因为咱们这个满足条件的应该就是这条记录。
06:05
啊,所以这个啊也算是一种方式,就是一个简单的条件查询,所以这几个啊都是MP最基本的查询操作啊。咱做个说明,而咱后面用的比较多的,第一个根据ID查询,第二个多个ID的批量查询,这后面会用到啊,大家把这个给他要会写。啊,这个啊,咱就说完了。然后这个都说完之后呢,下面还有一个操作,这个操作是咱们在后面的项目中用的最多的,叫做分页查询。啊,就是这个分页。我写一下啊,然后这个查询,首先我强调啊,分页呢,我觉得我们之前应该在不管你是在外部阶段,在框架阶段,这分页操作咱们应该都做过啊,只是说不同阶段咱应该是用不同的方式做到,而咱现在做分页我们是用MP的方法做到,那分页怎么做呢?首先做分页之前给大家提个东西,比如各位是否记得啊,应该是你们之前在框架阶段学到的这个东西。
07:12
叫配置helper。这个各位不知道是否记得啊,配置help,因为这个是咱们应该在矿业学院学到的,用于我们做分页的这么一个东西啊,而咱现在MP中做分页,它的代码写法和这个配置help基本上是一样的,没有什么太大区别,只是说换成咱们MP中的这些东西,但是它的代码都差不多,那下面啊,我就用MP的方式写下我们的分页就和这个啊比较类似。那咱说一下怎么做啊,咱先快速看一下啊,很简单,第一步呢,因为是LP中自带的分页,第一个你需要先配置一个分页的插件啊,这需要配置,然后配置之后我们写代码,在代码中你做法就是new配置。
08:04
配置中传入两参数,一个当前页,一个每记录数,然后你调方法,再调方法过程中,它会把肺页的数据都给咱们放到配置对象中去,咱通过配置对象把这的数据都可以取到啊,就是这么一个代码。啊,那我把这个给大家啊,最终咱们来实现一下啊这个分页。我来写一下啊,写到这个右边啊。首先,做法中的第一步。啊,就是第一步。咱们先配置一个分页的一个插件啊,这一步肯定是必须的,然后这个插件就这个啊,不需要各位记,你用的时候从里边直接复制可以了,而插件放到哪里,刚才我刚说过啊,就是你可以放到启动类里边,但是咱们不建往里面放了,咱放到是不是这个配置这种刚才有个乐观锁插件,咱再加上这么一个是分页的插件,这步必须要有啊,如果你不加插件,那分页效果是没有的。
09:04
这是我们的第一步,加上一个分页的插件。然后这个加上之后啊,咱再往下看,下面还有第二步操作。第二步操作呢,咱就来编写这个分页的代码,它的做法就是咱爹就是我写一下啊,直接也就是扭上这么一个配置对象里边传入两个参数。哪两个参数,一个是你这个分页的当前页,还有一个是每页显示的记录数啊,然后用它这分页,最终咱们调个方法就能实现出来啊,调用MP的方法能实现。分页的查询主要这个步骤啊,那我给大家再来写一下这个代码,就是分页该怎么去做。啊,来到这里边啊,来写一下。首先啊,几个注释。就是分页的查询。
10:01
然后咱们来一个叫test,我加上一个public we,比如我叫test配置。是这个啊,在里边我们写代码,那怎么做,按照刚才我说到的啊,如果说各位呢,还记得配置help跟他写法一样。啊,但是我觉得很多应该都忘了啊,那我就当新的东西来说了啊,它的步骤怎么做?第一步操作,你需要先创建一个叫配置对象,就是new个配置啊,那我们来new一个啊,在里边加上泛型,就是咱那个user。然后这个我叫配置,等于new上一个配置啊,咱先new一个对象,然后扭完对象之后,在配置里边咱需要传入两个参数。拿两参数我先写下啊,比如说来个一,再来个三,那两参数什么意思呢?啊,应该是这个逗号啊,来个一来个三,首先第一个参数表示你分页中那个叫当前页,比如说你是第一页还是第二页,第二个表示每页。
11:07
显示的记录数,比如说我现在有三页,每页显示三条记录,或者每页显示十条记录,这两只必须要有当前页和每页记录数啊,这是第一步,然后这个写完之后,第二步操作,咱就调用LP中那个分页查询的方法就可以了,那我们来调一下啊,User map中有个方法。咱找一下啊,大家来看啊,里边有这个方法。它叫light配置。我把这个啊给大家寄过来。然后这个方法中,它清楚的告诉我们里边两个参数,第一个参数是什么呢?就是咱这个配置对象,然后第二个参数叫做rapper,是咱一会儿说到的,其实他可以传条件,就是你条件再带分页啊,但是咱暂时没条件,我先写个空,就传第一个参数在那个配置对象。那我写一下啊,Select配置第一个就是配置第二个先来一个空,后面啊,咱再加上这个条件,所以这样的话,第二步咱就完成了一个分页的查询,当然在这过程中呢,在这个就是调用MP这个分页查询的过程中,它的底层会帮咱们封装一个地方。
12:22
封装什么地方呢?它会把你的分页的所有数据都给你封装到这个配置对象中去,比如说这里边你把它传进去,默认里边只有两个值,等你传完之后,里边肺的所有数据里边都有,所以咱们通过配置对象可以把扉页的所有数据最终都得到啊,他会帮咱们做封装,这里边移掉之后由你分页中的所有数据。所以咱的第三步就是。通过这个配置对象。获取分页的数据啊,那我就来获取一下啊。我就直接输出了,首先咱看这数据啊,咱这么来看。
13:02
咱点这盖的方法大家看啊,有这么多,咱先看第一个叫get current。这是什么意思呢?Current单词咱一般翻译成是不是有当前的意思,这单词希望各位都认识啊,因为咱们学软件吗,虽然咱不是学英语,当然一些最基本单词要各位都要给他认识啊,比如说什么看当前嘛,这就表示获取你这个分页中那个。当前页这是第一个,然后咱写第二个啊,配置里面有第二个要这个get records。你看他返回到。是不是一个历史集合,这就表示得到你那个就是每页数据那个历史集合啊,就是具体那个数据的历次集合,这是第二个。然后咱再看第三个。还是配置里边这个值叫get size,这是什么呢?就是你每页显示的记住数,比如咱们设置三啊,它就把这三得到啊,这是第三个值,然后后面还有啊,咱就依次得到一下啊,还有一个叫这个total。
14:10
Total什么意思呢?这单词是不是有一共的意思或者总共意思,他要表示得到当前你这个表中一共有多少条记录,就是你的总记录数。啊,总记录数。比如说我这表中有20条记录,让它反应值就是20啊,这是一个,然后比如说咱们再来看还有一个值叫get page字,这是什么意思呢?它就表示得到你当前的那个总页数,就是你一共你有多少页?啊,写一下啊,就是总页数。比如说我现在有20条记录,然后每页要显示十条,我一共是不是有两页最标就是总页数啊,这是里边这个值,然后除了这个之外,还有最后的两个值啊,这两个值咱后面分页中有用到。
15:01
那我来写一下啊,大家看这纸,第一个纸是它。然后还有一个纸,是这个纸。这两值不说,各位是否能看明白它是什么意思啊?我来强调,第一个值叫哈西next,这叫什么这个值啊,它就表示是否有下页,这表示是否有上页啊,就是如果你是有下页,那咱就是处,如果你没有下页,那就是false,这叫上页。比如说我当前是第页,在第页的时候肯定没有上页,那它就是false,如果你当前在最后一页,那它没有下页啊,这个值就是它出false做个设置。我写一下啊,这表示是否有下页,这表示是否有上页。所以这个啊,就是分页中的这个基本代码,咱通过这段代码把这个分页就可以做到。主要就是里边的一部分,就是第一步new一个配置对象,然后第二步啊,咱们就是在里边调MP中的方法做到,然后最后一步咱直接。
16:04
把这个调用之后,配置中取到分的数据,因为他把这过程中的数据都封装到了配置调用中去啊,这就是分页,咱们就做到了啊。然后做到之后把这个最终执行一下啊,来看结果。但有一点注意啊,咱做分页的时候,这个插件绝对不能少,如果说你少这个插件,那分页效果它是不存在的啊,插件插件必效简,配置好。那我们看一下这个数据啊。大家看啊,第一个咱看circle语句。是不是这个limit啊,就是零和三嘛啊,因为咱们是查那个第一页啊,包括每页显示三条记录,用limit做到,然后这里边你看啊,在最上边它还指定一个语句叫这个count。Count查的是不是你表了多少条记录,然后最后你看啊,我们最终做输出,输入中就是这个值,比如你的当前页,你的数据啊,包括是不是有上页下页,什么总页数,什么总记录数,每页显示记录数等等,这些值在里边都输出了啊,所以这就是分页的查询。
17:11
所以大家记住这个过程啊,先配置插件,然后你在代码中new个配置,传入当前页,没有记录数,最后调我们这个方法啊,这个方法就是咱说这个。Select配置传入这个还有你的条件,条件咱一会提到,最终通过配置把你分页之后的数据通过它都能查出来啊,这就是关于分页的一个实现。所以咱们啊,把这个我们就做到了啊,就是这个分业过程啊,这些我都提到了啊。
我来说两句