MybatisPlus 用什么方式实现多字段模糊查询比较好?

237 天前
 DimitriYoon

有一个实体类需要实现多个字段的模糊查询,字段的数量不是一定的,想要在实体类传进来的时候,对于不为空的字段做模糊查询,有没有什么比较好不怎么屎的实现方法?

1536 次点击
所在节点    程序员
6 条回复
ikas
237 天前
自己扩展一个 query 方法注入到 mybatisplus 中或者写一个 SelectProvider
Vkery
237 天前
自己写一个工具类,可以通过反射将实体类转为 Query
oneisall8955
237 天前
例如?给个例子
Foxkeh
237 天前
官方的就支持, 比如查询条件拼接的时候
eq(StringUtils.hasText(Order::getStatus, req.getStatus())
改为
eq(StringUtils.hasText(req.getStatus()), Order::getStatus, req.getStatus())
Foxkeh
237 天前
@Foxkeh 不好意思粘贴错了, 是类似这样改
eq(Order::getStatus, req.getStatus())
改为
eq(StringUtils.hasText(req.getStatus()), Order::getStatus, req.getStatus())
wellerman
237 天前
10 个字段内列出来也不是什么问题:
public LambdaQuery<T> eqIfPresent(SFunction<T, ?> column, Object val) {
if (val != null) {
return (LambdaQuery<T>) super.eq(column, val);
}
return typedThis;
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/974593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX