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

相关推荐
小杜-coding3 小时前
黑马点评day04(分布式锁-setnx)
java·spring boot·redis·分布式·spring·java-ee·mybatis
caihuayuan54 小时前
升级element-ui步骤
java·大数据·spring boot·后端·课程设计
佩奇的技术笔记5 小时前
Java学习手册:单体架构到微服务演进
java·微服务·架构
Kookoos5 小时前
ABP vNext + EF Core 实战性能调优指南
数据库·后端·c#·.net·.netcore
zm6 小时前
服务器多客户端连接核心要点(1)
java·开发语言
FuckPatience6 小时前
关于C#项目中 服务层使用接口的问题
java·开发语言·c#
天上掉下来个程小白6 小时前
缓存套餐-01.Spring Cache介绍和常用注解
java·redis·spring·缓存·spring cache·苍穹外卖
揣晓丹7 小时前
JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
java·vue.js·spring boot·后端·开源
编程轨迹_7 小时前
使用 Spring 和 Redis 创建处理敏感数据的服务
java·开发语言·restful
奔驰的小野码7 小时前
SpringAI实现AI应用-自定义顾问(Advisor)
java·人工智能·spring boot·spring