忽略MongoRepository中getBy ****()函数中的参数

时间:2016-08-15 07:10:55

标签: java spring mongodb mongorepository

我在我的服务中使用MongoRepository。就我而言,我有三个字段,其名称为“姓名”,“年龄”和“性别”。我可以在界面中使用以下方法来查询数据:

List<People> getByName(String name);
List<People> getByAge(String age);
List<People> getByNameAndGender(String name, String gender);
...and so on...

现在我想用这3个字段的每个组合查询数据,所以我需要在这里编写7(3 + 3 + 1)个方法,这真的很难看。

我试着写一些像

这样的东西
List<People> getByNameAndAgeAndGender(String name, String age, String gender);

如果输入只有两个字段:name = Chris,age = 18,那么我可以调用

List<People> peoples = getByNameAndAgeAndGender("Chris", "18", "*")

获取姓名为Chris且年龄为18岁的人员名单。我如何实现这一目标?我真的不想写一个大的“if ... else if else else if ......”的身体。谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

List<People> getByNameLikeAndAgeLikeAndGenderLike(String name, String age, String gender);