通过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对象的解决办法
在几秒钟内从 Spring MVC 中的表中获取 400K 数据