Запрос данных из таблицы и преобразование их в требуемый формат JSON с помощью Spring MVC - PullRequest
0 голосов
/ 06 июня 2019

Я хочу получить данные из следующей таблицы, например -


+------------+----------------+------------+
|     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"
      }
     ]
    }
  ]
}

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Похоже, вам следует изменить схему базы данных.Вместо того, чтобы хранить все это в одной таблице, у вас должна быть таблица клиентов, содержащая customerNo в качестве идентификатора, и, возможно, некоторые другие поля для описания вашего клиента.Вы можете создать вторую таблицу с именем details, например, с полем No в качестве Id и trackingNo.Кроме того, вам необходимо иметь customerId в качестве внешнего ключа в этой таблице.

Теперь вы можете использовать возможность пружин для соединения родительских и дочерних объектов с помощью аннотаций @ManyToOne и @OneToMany.По сути, ваша клиентская сущность будет родителем, имеющим отношение один-ко-многим к сущности подробностей.В сущности подробностей у вас будет отношение «один к одному» с вашим клиентом.

Поскольку это довольно широкий вопрос, я могу просто дать вам эти подсказки и узнать, как их кодировать.

0 голосов
/ 06 июня 2019

Вы должны использовать Spring jpa, который вы должны сконфигурировать в файле application.properties, в свой проект весенней загрузки.Но, в конце концов, лучший способ узнать, как это сделать, - это выбрать проект весенней загрузки на github: Spring-petclinic

...