记录一下前端查询条件对应后端多个条件的一种简单粗暴解决方法

前端传到后端的参数有三种:处理、未处理、全部

但是该字段对应的表,有四个状态 Apply 未处理   Review已处理  Invalid已作废   Finish处理确认已完成

前端 已处理对应的结果是 Review已处理  Finish处理确认已完成 两种

前端传 全部 对应 Apply 未处理   Review已处理  Finish处理确认已完成 三种

Mybatis不容易写sql模板直接将参数传进去,

解决思路:

参数传到后短线进行判断,对dto进行赋值,

if (Dto.getApproveStatus().equals("Already")){
tDto.setApproveStatus("'Review','Finish'");
System.out.println(Dto.getApproveStatus());
}

层层调到Mapper,进行sql拼接

"left join ruoyi.sys_user C on C.user_name=B.MGEManager " +
"where 1=1 " +
"AND A1.mgeCode=#{userCode}" +
"<if test='tDto.approveStatus!=null'>AND A1.apyStatus in ( ${Dto.approveStatus} )</if>" +
如有差错,请各位指正
原文地址:https://www.cnblogs.com/Timeouting-Study/p/15694027.html