00:00
下面我们继续来实现条件分析查询,刚才呢我们完成了controller service,包括map方法创建,那下面呢,咱们来编写map中的叉文件,编写so后语句,把功能就是实现,那下面我们开始做一下,首先咱们这么来实现,在resource里边我们先建个文件夹,那我来做个创建。文件夹的名字我们就叫mapper。然后创建之后,在map里边我们建一个叉L文件。我们把这个复制做个创建。现在这个文件就创建出来了,创建之后咱们来在里边写SQL语句。首先第一个咱把它的上面部分做个复制,大家看一下啊,第一个是里边那个叉L的版本号编码方式,然后第二个是里边那个叫做约束,就是指定里边能出现什么名称的标签,所以现在这个结构完成完成之后在里边我们写标签,第一个加上一个叫map。
01:09
然后在map里边有个space,然后在里边写什么呢?加上咱们这个包类,我把这个给各位复制一下。就是map的包类路径,现在这个完成完成之后呢,在里边我们加上我们写这个方法,我先加个注释。条件分页查询,然后怎么做,我们写一下啊,加上标签里边有一个ID。ID中加什么各位应该清楚啊,是不是加上你方法的名称。然后后面有一个叫result type,加上你返回结果的类型,而类型里边咱们这么来做,我可以用result type,但是我现在创建一个叫result map,就是自定义结果。
02:06
在里边我们起个名字叫肉map,指定它的类型就是我们这个实体类,这个类型也就是这个。我把它复制一下。注意啊,这些一定不要复制错,然后咱们再加一个属性auto mapping自动映射,加上一个处。现在这个结构我们就完成,完成之后在这里边写一下。Map用肉map,现在这个完成,完成之后呢,在里边我们编写一下circle语句,通过语句做个实现。另外啊,各位注意,因为现在呢,咱们用的是MP,在MP里边,刚才我已经配置好了这么一个配置类,也就这个,然后在里边有一个分页的插件,所以咱们的语句其实只是写一部分就可以了,我下面给大家写一下,首先我来个select。
03:07
加上表中的字段,这里边不要写星号,咱们直接写表中的字段。我到这里边写好之后,然后复制过来,第一个ID,第二个叫肉name,第三个肉code,第四个description,这些我就复制一下。然后下一个。下一个update。还有一个is deleted。这些我们都做过复制,然后from加上这个表,我们先试一下看字段应该没有写错,然后把这部分咱直接复制过来。这个我直接拿过来。大家看啊,Select加上字段,From加上我们的表,然后加上表之后,下面我们是不是要加上条件,但是各位注意啊,咱的条件值是不是可能为空,也可能不为空,所以咱们做一个条件语句的拼接,加上where,加上if,给它在if里边咱们做一个判断,咱们看啊,刚才在这里边呢,我们这个起了一个名字叫VO,所以咱通过VO把这值取一下,就是VO,点上你的属性名称叫肉name。
04:36
我在里边写一下啊,如果它的值不等于,那and这个值它也不等于,空字符串表示里边有内容,有内容的话,那我们来加上这个语句,加上这个叫role name,咱就写一个like了,然后like里边加上一个条件啊,为了防止写错,我在这里边写一下啊。
05:03
加上就是这么一个结构。把这个拿过来啊,因为这where这个部分呢,咱通过MP里边就是具体说是买P里边这个动态circle狗给咱们能拼接出来,最后把这个拿过来。然后在里边加上一个函数,叫。函数里边呢,来拼上我们这个语句,就拼上你的条件,这个条件各位都知道啊,就在里边我写下。在这里边,比如说咱们拼接第一个加上一个百分号,第二个去域的值,然后第三个我们再加上一个百分号,用它来做一个条件值的拼接,然后给这个拿过来,然后条件值我们用井号。VO。点上这个角row name,把这个去掉,所以现在这部分完成,完成之后呢,在里边咱们还需要加上一个条件,就是里边那个is deleted。
06:12
我也是复制一下啊,防止我写错,就是这些字段名字各位都最好复制,你手敲很容易错,这种错没有什么意义,咱直接复制,然后这个值等于零,包括最后我们再加上一个排序了,Order by,根据ID咱做个降序,就最后一个加的在第一个显示,所以以上这个circle语句部分我们就完成了,通过my be里边的动态circle把这个做了一个实现。比如说咱们到这里把这个条件分页查询,就最终做到了。做到之后,我现在把服务器启动,然后咱们通过swag做一个测试,看一下最后的效果是怎么样。等它启动,然后咱测试啊,这个过程中呢,咱们control调service service调map map里边编写的SQL语句,最终实现了这个功能,然后SQL语中用到了MY贝里边的动态circle,最终进行实现。
07:13
咱们看啊,现在已经启动了,然后我在里边打开swa刷新。咱们找到条件分页查询,然后看这个位置,大家看里边是不是有条件,那咱做个输入啊,比如我现在查第一页,每页显示两条记录,然后roll name值咱就来个空了,现在点发送,大家看结果,我们看啊是不是有数据,然后数据中大家看这里一共有八条记录,每页显示两条,当前第一页一共有四页是不是有数据,那比如说我们再查一下第二页。点这个发送。大家看数据是不是出来了,就是对应表中的这些数据。然后大家看一下底层的circle语句部分里边是不是有,然后咱们再试一个啊,我是一个就是带这个就是条件的那条件里边我们找到,比如就加上一个测试。
08:14
我加到这里。咱们就查第一页,每页两条记录发送。大家看数据是不是有,比如说我现在查第二页。发作。这数据是不是也查出来了,所以以上我们就把这个条件分页查询的接口做了实现。这个过程呢,给各位再总结一遍,然后咱再往下实现,那大家看啊,首先第一个咱们建立一个配置类,配置了分页插件,就是这个my with plus里面的插件,然后配置之后在里边我们写了controller,传入当前页,每页记录数包括条件对象在里边最终返回I配置对象service里边方法做出创建。
09:00
中调用map map中定义方法,最终咱们是编写circle语句,通过动态circle把这过程实现,条件值可能为空,可能不为空,不为空的话咱做一个O查询,最终得到这个结果。所以以上就是咱们编写这个接口,条件分页查询的接口。
我来说两句