spring boot+mybaits多条件模糊查询和分页查询

我们首先写一下多条件的模糊查询,首先在controller里面写一个接口,进行传参,我们这里要注意,之前写修改和增加的时候用的注解都是@RequestBody,也就是说!前端传过来一个json,数组也行,然后我们后端进行处理,也不需要返回!然后,我们写删除的时候用的是什么?是@PathVariable,这个传一个值,然后进行删除,或者批量删除!而我们现在要进行多条件的模糊查询,这两个注解肯定就不能用了,所以我们要用@RequestParam,这个注解,这样就可以用url路径去写了!但是一定要记住,最后在mapper里面要进行解析。话不多说,我们开始写!

我们在mapper里面还用到了一个函数就是concat这个就是模糊查询的函数,mybatis提供的一个模糊查询函数!这样就可以实现多条件的模糊查询!

我们解析来写一下分页模糊查询,这个肯定是最常见的了!

我们也是先思考!我们需要什么?返回什么?

首先我们考虑到,前端传过来的是四个值!第一个肯定是当前的页码pageNum,第二个就是pageSize,还有模糊查询的条件(2个值)!然后返回什么呢?要返回List<user>和总数目!所以返回值我们这次就不能用List<user>这个了!我们肯定就是要用Map来做,键值对!

我们先写出来controller

接着写出service,这个里面的计算我们先不写,一会再写!

在写一下mapper,写mapper的时候会遇到很多错误,比如@Param忘写了,或者是limit里面的字段名字写错,还有就是limit这个是不加()的,不用括号就可以的!

写完了,我们测试一下

成功了!

我们现在会发现一个问题!我们的数据不是从倒数第一个开始的,倒数第一个数据没显示!是从倒数第二个数据开始显示的!为什么?因为我们传入的是1!不是0。我们写的skipNum是跳过的个数!所以我们现在就要完成skipNum的计算了!

然后我们发现total还没有计算呢,所以我们还要计算一个total,我们现在mapper里面写count函数进行计算!我们接着还是回到service里面去写~将controller的代码删掉!我们现在要实现一个service里面,进行两次mapper的查询返回!

我们展示一下完整代码!

controller

service

mapper

相关推荐
码匠许师傅3 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
卷无止境3 小时前
FastAPI 的Admin面板生态
后端·python
捡田螺的小男孩4 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒4 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端
极创信息4 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
用户8356290780515 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
网渡科技5 小时前
向量数据库选型指南:RAG场景下的性能对比与调优策略
后端
汉字萌萌哒5 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
riverNijika5 小时前
项目学习笔记:C++基础同步输出日志库
后端
Lyra_Infra5 小时前
OpenClaw 升级及 Channel 安装故障排查与遗留问题分析
后端·npm