通过spring MVC从表中查询数据并转换成需要的JSON格式

Posted

技术标签:

【中文标题】通过spring MVC从表中查询数据并转换成需要的JSON格式【英文标题】:Querying data from the table and converting it into the required JSON format through spring MVC 【发布时间】:2019-10-21 18:59:08 【问题描述】:

我想从下表中获取数据,例如 -


+------------+----------------+------------+
|     No     |    trackingNo  | customerNo |
+------------+----------------+------------+
| 055162     | 78Q6156        |     281478 |
| 055161     | 78Q6293        |     281478 |
| 0551629    | 78Q68431       |     281480 |
| 055131870  | 78Q63189       |     281480 |
| 055131870  | 78Q625771      |     281480 |
+------------+----------------+------------+


通过customerNo 分组,我必须查询数据,然后通过 MVC API 获取数据并将其转换为以下 JSON 格式。 如何通过 mysql 查询该表中的数据。

预期的 JSON 格式输出为

  
  [
   
    "customerNo": 281478,
    "details": [
      
        "No": "055162",
        "trackingNo": "78Q6156" 
      ,
      
        "No": "055161",
        "trackingNo": "78Q6293"
      
     ]
    ,
    
    "customerNo": 281480,
    "details": [
      
        "No": "0551629",
        "trackingNo": "78Q68431"
      ,
      
        "No": "055131870",
        "trackingNo": "78Q63189"
      ,
      
        "No": "055131870",
        "trackingNo": "78Q625771"
      
     ]
    
  ]

【问题讨论】:

kalpana kanyal,您并没有完全提出问题,您能澄清一下您到底想知道什么吗?目前,我不清楚您是否在连接 MySQL 数据库、获取数据、分组数据或显示 JSON 响应时遇到问题。您能否在您的问题中澄清这一点并发布相关代码(如果有的话)?这使我们更容易查明问题。如果您需要了解所有这些内容,我建议您将问题分解为多个问题,因为这太宽泛了。 【参考方案1】:

你必须使用你必须通过你的 application.properties 文件配置到你的 spring boot 项目中的 spring jpa。 但最后,学习如何做到这一点的最佳方法是选择 github 上的 spring-boot petclinic 项目:Spring-petclinic

【讨论】:

【参考方案2】:

看来您应该更改您的数据库架构。与其将所有这些都放在一个表中,您应该有一个包含 customerNo 作为 Id 的客户表,并且可能还有一些其他字段来描述您的客户。 您可以创建名为 details 的第二个表,例如将字段 No 作为 Id 和 trackingNo。此外,您还需要将 customerId 作为该表中的外键。

现在您可以通过使用@ManyToOne@OneToMany 注释来利用弹簧连接父实体和子实体的能力。 基本上,您将让您的客户实体成为与详细信息实体具有一对多关系的父实体。 在详细信息实体中,您将与您的客户实体建立多对一关系。

由于这是一个相当广泛的问题,我可以给您这些提示,并自己了解如何编写它们。

【讨论】:

以上是关于通过spring MVC从表中查询数据并转换成需要的JSON格式的主要内容,如果未能解决你的问题,请参考以下文章

Spring拦截器获取request请求体中的json数据,并转换成Java对象的解决办法

通过在Oracle中分组一列从表中选择数据

在几秒钟内从 Spring MVC 中的表中获取 400K 数据

根据特定条件从表中获取已插入数据的插入查询

用于从表中获取记录的 SQL 查询需要很长时间,但是当我运行 exec sp_updatestats 时按预期工作

MySQL 查询从表中检索数据和第二个查询以提取其他结果,没有重复