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

相关推荐
L2ncE2 分钟前
ES101系列09 | 运维、监控与性能优化
后端
CRMEB定制开发19 分钟前
PHP 支付系统扩展实战:从微信 / 支付宝到银联的多驱动架构设计
后端
t1987512820 分钟前
Java连接Redis和基础操作命令
java·开发语言·redis
史文豪20 分钟前
nacos2.5.1版本基于docker的自定义部署(适配人大金仓)
后端
aiopencode20 分钟前
移动端抓包指南:为什么真机HTTPS总是抓不到?(多工具对比 + Sniffmaster实战)
后端
秋名RG22 分钟前
深入理解享元模式:用Java实现高效对象共享
java·开发语言·享元模式
master-dragon26 分钟前
设计模式-观察者模式
java·观察者模式·设计模式
追逐时光者31 分钟前
一款 .NET 开源、免费的适用于 Windows 下 PC 版微信/QQ/TIM的防撤回补丁(我已经看到了,撤回也没用了)!!
后端·.net
小白本无忧39 分钟前
PHP 垃圾回收高级特性
android·java·php
何中应40 分钟前
【设计模式-3.5】结构型——装饰器模式
java·设计模式·装饰器模式