一个可以通过多个条件筛选的系统界面是如何实现的(springboot+mybatis)

比如我们有一个订单记录管理界面

条件可以通过订单号、商品名称、创建日期范围、价格范

围。。。来进行筛选查询。

首先我们先确定数据库订单表(我这里就不做连表了,都

放在一个表中)模拟一个订单表

order表

订单号

商品名称

创建日期

价格

地址

用户

121

飞机

2023-03-23

199

bj

xxx

212

大炮

2023-04-23

29

bj

xxx

就比如我们有一个这样的订单表,

前端的话说一下思路,就不做演示了,我们将查询的

每个字段当作参数传递给后端(我们可以通过order实

体类来接受,此时要注意前端字段命名问题了,但是

时间和价格都是一个范围,包括开始时间-结束时间,

我们实体类中没有这个字段,此时我们就需要添加一

个DTO来继承那个实体类,在DTO中添加这几个实体

类中没有的但是我们查询过程中会用到的字段,通过

DTO来接受参数,注意:前端通过JSON传入后端,

后端通过@RequestBody接收)

如果不懂怎么写的可以去看下我的这个文章前后端交互问题

如果没什么特殊的业务操作我们的业务层和控制层基本

不用写代码(记得时间要格式化);

实现条件查询做重要的的部分来了也就是我们的sql语句

这里我们使用mybatis的 .xml配置文件来写sql

这里sql中就用到动态拼接的方法,也就是 ....

本文实现功能只用到了这两个,其他你们可以去了解

//这里的resultMap="BaseResultMap"可以改成resultType="DTO类的全路径"

再比如:

上面我们就通过动态拼接实现了按多条件查询的例子啦~,上面这

种也可以不通过sql,直接在前端使用filter进行实现(可以提高用

户体验,秒速查询)可以去看这个vue实现过滤器,但是这种情况

不能用于数据变化频率高的情况,因为在前端筛选不会重新查询数

据库,也不能实时更新

你可能感兴趣的:(spring,boot,mybatis,后端)