当前位置: 首页 > 知识库问答 >
问题:

如何从Spring数据中匹配多个参数的表中获取所有行?

汤昊
2023-03-14

我正在使用Java、Spring Boot和PostgreSQL
现在我正在尝试从网站发送带有多个paramaters的请求表单,以便在数据库中搜索与这些参数匹配的行。

http://localhost:8080/search?vtitle=&vcompany=Epam&vcity=Kiev&vlanguage=Java
List<JobSite> allJobs = jobRepository.findByTitleContainingAndCompanyAndCityAndLanguage(searchForm.getVtitle(),
            searchForm.getVcompany(),
            searchForm.getVcity(),
            searchForm.getVlanguage());

    allJobs.sort(Comparator.comparing(JobSite::getTime).reversed());
    model.addAttribute("jobs", allJobs);
    return "index";
public String submit(@RequestParam MultiValueMap<String, String> params, Model model) {
SELECT * FROM table WHERE title = 1 AND company = 1 AND city = 1 AND language = 1 
SELECT * FROM table WHERE company = 1 AND city = 1 AND language = 1 
SELECT * FROM table WHERE city = 1 AND language = 1 
SELECT * FROM table WHERE language = 1 
SELECT * FROM table WHERE title = 1 AND city = 1 AND language = 1 

共有1个答案

祁烨
2023-03-14

在本例中,您可以使用Spring Data JPA规范。这有点棘手,请参考这些链接,你会有一个想法

1.Spring Data JPA规范

 类似资料:
  • 表 1:发票(inv_id、inv_value、cust_id) 表 2:客户(cust_id、sales_rep) 表 3:成员(Member_id、member_cateogry、member_type、cust_id) 注1:每个客户支付多张发票。(一对多关系)。< br >注2:每个客户为一个或多个会员付费(因此一个客户可能与多个会员相关)。< br >注3:每个成员都有一个类别,可以是1

  • 问题内容: 这是将单个表一分为二的结果: 要在只有一个表的情况下选择单个记录: 如何从两个表中获得所有记录,这些表的行由users.user_id = data.user_id连接? 问题答案: 使用显式语法可以为您提供帮助。将查询重写为: 并获取所有没有WHERE条件的行: 它将关注点分开:连接表的条件和限制结果集的条件。

  • 问题内容: 我有两个表: 这是表1: 这是表2: 现在,我想从这些表中获取数据。在两个表中都相同。 我想拿 和其他表。 请帮我做到这一点。 问题答案: 我假设您在第二个表中有一个命名字段(您没有列出它): 您应该查看有关的MySQL手册,因为这是编写SQL查询的非常基本的部分。您也可以考虑为product_id字段添加索引,以使查询运行更快。

  • 问题内容: 使用SQL SERVER。 数据库包含不同年份的数据,我想以某种方式获取所有数据(所有年份)并显示给用户,例如,数据库包含表: 现在通过从information_schema.tables中选择TABLE_NAME到@tableName中,其中table_name如’records_%’ 我可以获取所有表名,如何编写SQL(或过程)以从这些表中获取所有数据?将所有记录合并到一个表中?

  • 问题内容: 我需要动态获取 架构中存在 的 所有表的 META信息,元信息如表,实体,列名等。 我遵循了以下教程 https://vladmihalcea.com/how-to-get-the-entity-mapping-to-database-table- binding-metadata-from-hibernate/ 如以上链接中所述,我创建了一个名为MetadataExtractorIn