我在我的服务中使用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 ......”的身体。谢谢!
答案 0 :(得分:1)
试试这个:
List<People> getByNameLikeAndAgeLikeAndGenderLike(String name, String age, String gender);