Как открыть базу данных MySQL как OData - программирование
Подтвердить что ты не робот

Как открыть базу данных MySQL как OData

В настоящее время у меня есть база данных mySQL и вы хотите взаимодействовать с ней с помощью OData.

Другими словами, я хочу разоблачить данные в этой форме: http://services.odata.org/Northwind/Northwind.svc/

Я нашел несколько руководств о том, как это сделать (например, http://msdn.microsoft.com/en-us/vs2010trainingcourse_buildingappandservicesusingodatavs2010_topic3.aspx), если у меня есть Microsoft Visual Studio. Но я девушка-макушка.: (

Я также просмотрел библиотеки на домашней странице odata (в библиотеках, а затем в mysql). Но я не могу заставить их работать.

Есть ли простая библиотека SIMPLE, которая может справиться с этим для меня?

Большое спасибо за помощь!

4b9b3361

Ответ 1

Я выяснил, как это сделать - используя odata4j. Я документировал свои шаги ниже, если кто-то хочет сделать что-то подобное.

Вам нужно будет:

  • создать модель JPA из вашей базы данных
  • use odata4j NorthwindJpaProducerExample.java script

Подробные инструкции приведены ниже:

  • Odata4j является производителем/потребителем Odata с открытым исходным кодом на Java. Поэтому вам нужно настроить Eclipse для разработчиков EE с базой данных. Я предлагаю этот учебник, если вы новичок в Eclipse.
  • Следуйте этим инструкциям для создания модели JPA.
  • Перейдите в Odata4j и загрузите последний архив zip
  • Добавьте odata4j-bundle-x.x.jar в ваш путь сборки (он находится в файле bundles).
  • Вставьте следующие сценарии из Odata4j, найденные в их github: NorthwindJpaProducerExample, JPAProvider и DatabaseUtils (требуется slf4j). (Честно говоря, я просто копировал и вставлял их в Eclipse). На этом этапе ваша панель Project Explorer должна выглядеть так (без model.main):

Project Explorer Bar

На этом этапе щелкните правой кнопкой мыши проект и выберите "Путь сборки" > "Настроить путь сборки". Добавьте в свой файл архива Odata4j следующие "внешние банки".

External Jars

Теперь отредактируйте код в NorthwindJpaProducerExample следующими способами:

  • Измените строку "endpointUri" на любой URL-адрес, который вы хотите использовать oData на
  • Измените строку "persistenceUnitName" на имя вашей сущности в файле persistence.xml(как вы можете на изображении выше, мой был вызван "createJPA".)

code sample in NorthwindJpaProducerExample

И тогда у вас есть OData!

My OData

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

  • Чтобы успешно выполнить шаг 2 (сгенерировать JPA), каждая таблица ДОЛЖНА иметь первичный ключ. Сделай это - я не шучу.
  • После редактирования кода у меня была ошибка "BigInteger". JPAProducer не поддерживает типы полей bigInteger. Вернитесь в свою базу данных и измените размер столбца на обычный int.
  • После изменения базы данных ЛЮБОЙ способ, обязательно обновите базу данных и очистите проект. Это сделает вас и Eclipse счастливыми.
  • Я не думаю, что это будет необходимо для всех, но мне нужно было добавить зависимость драйвера HyperSQL. Если вы получите ошибку HSQL, перейдите в здесь и получите последнюю стабильную версию. Добавьте hsqldb.jar в свой путь сборки.

Не SUPER легко, но намного лучше, чем 70-страничное руководство.