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

相关推荐
叫我阿柒啊12 小时前
从Java全栈到前端框架的全面实战:一次真实面试的深度解析
java·spring boot·缓存·微服务·消息队列·vue3·rest api
望未来无悔12 小时前
系统学习算法 专题十八 队列+宽搜
java·算法
一只叫煤球的猫12 小时前
2025年基于Java21的的秒杀系统要怎么设计?来点干货
后端·面试·性能优化
Linlichaoblms12 小时前
Nginx性能调优:参数详解与压测对比
java·spring boot·nginx
方圆想当图灵12 小时前
《生产微服务》评估清单 CheckList
后端·微服务
服务端技术栈12 小时前
历时 1 个多月,我的第一个微信小程序「图片转 Excel」终于上线了!
前端·后端·微信小程序
一个很老的小萌新12 小时前
json 解析 [{“id“:1,“name“:“apple“},{“id“:2,“name“:“banana“}]
java·前端·json
计算机毕业设计指导12 小时前
基于Spring Boot的幼儿园管理系统
spring boot·后端·信息可视化
是2的10次方啊12 小时前
🏗️ 线程池深度解析:ThreadPoolExecutor底层实现与CompletableFuture异步编程实战
java
年轻的麦子13 小时前
Go 框架学习之:go.uber.org/fx项目实战
后端·go