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

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

但是该字段对应的表,有四个状态 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>" +

 

posted @ 2021-12-15 18:15  Timeouting  阅读(686)  评论(0)    收藏  举报
编辑推荐:
· C#.Net筑基-泛型T & 协变逆变
· dotnet 代码调试方法
· DbContext是如何识别出实体集合的
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· MySQL索引完全指南:让你的查询速度飞起来
阅读排行:
· 于是转身独立开发者
· .NET中全新的MongoDb ORM框架 - SqlSugar
· 都说了布尔类型的变量不要加 is 前缀,非要加,这不是坑我了嘛
· 我救了一个网站,性能提升了1500 多倍!
· 下一代 2D 图像设计工具「GitHub 热点速览」
点击右上角即可分享
微信分享提示