就像我有一个页面,其中显示的数据,如名字,中间名,姓氏,地址,城市,州,国家,年龄,工资。
有一个过滤器实现,有4个字段,如城市,年龄,工资,国家。现在我必须在 Spring 启动控制器,采取所有4个字段作为输入参数,并从数据库中使用Spring Data JPA查找数据。
但我的问题是,我想有时只按工资过滤数据,有时按城市、州过滤数据,有时同时使用所有4个参数。
请帮我一把,先谢谢了
就像我有一个页面,其中显示的数据,如名字,中间名,姓氏,地址,城市,州,国家,年龄,工资。
有一个过滤器实现,有4个字段,如城市,年龄,工资,国家。现在我必须在 Spring 启动控制器,采取所有4个字段作为输入参数,并从数据库中使用Spring Data JPA查找数据。
但我的问题是,我想有时只按工资过滤数据,有时按城市、州过滤数据,有时同时使用所有4个参数。
请帮我一把,先谢谢了
3条答案
按热度按时间m0rkklqb1#
测试参数是否为空:
u4vypkhs2#
我建议使用JPA规范,要了解更多关于规范代码的信息,这里是我关于stackoverflow的线程
如果您想坚持使用JPA,那么下面的查询可以帮助您
说明:上面的代码将检查参数是否为null,否则返回true与列进行比较。
6za6bjd03#
您可以使用以下子句修改Query,其中您可以在存储库中编写查询,并且可以在where子句中添加条件因此,这将按预期方式工作
@Query(value =“从用户中选择用户用户WHERE((:名称为空)OR(用户名=:名称))AND((:城市为空)OR(用户城市=:城市)))