Как я могу создать таблицы базы данных из файлов XSD? [закрытый]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

28
задан Community 23 May 2017 в 11:53
поделиться

7 ответов

Коммерческий продукт: Altova Шпион XML .

Примечание, что нет никакого общего решения этого. XSD может легко описать что-то, что не отображается на реляционную базу данных.

, В то время как можно попытаться "автоматизировать" это, XSD должен быть разработан с реляционной базой данных в памяти, или он не удастся хорошо.

, Если XSD имеет функции, которые не отображаются хорошо, Вы будете иметь к (1), разрабатывают отображение некоторого вида, и затем (2) пишут Ваше собственное приложение для перевода XSD в DDL.

там, сделанный это. Работа по найму - никакой доступный открытый исходный код.

22
ответ дан S.Lott 28 November 2019 в 02:34
поделиться

Существует инструмент командной строки XSD2DB , который генерирует базу данных из xsd-файлов, доступных на sourceforge.

42
ответ дан Spoike 28 November 2019 в 02:34
поделиться

Я использую XSLT, чтобы сделать это. Опишите свой XSD, тогда передают Ваши модели данных через рукописный XSLT тот выходной SQL команды. Запись XSLT является путем, быстрее и допускающим повторное использование, чем пользовательская программа / сценарий, который можно записать.

, По крайней мере, это - то, как я делаю это на работе, и благодаря которому я заставил время болтаться на ТАК:)

8
ответ дан Robert Gould 28 November 2019 в 02:34
поделиться

XML-схемы описывают иерархические модели данных и могут плохо отображаться в реляционную модель данных. Сопоставление XSD с таблицами базы данных очень похоже на сопоставление объектов с таблицами базы данных, на самом деле вы можете использовать такую ​​среду, как Castor, которая делает и то, и другое, она позволяет вам брать схему XML и генерировать классы, таблицы базы данных и код доступа к данным. Я полагаю, что сейчас есть много инструментов, которые делают то же самое, но будет кривая обучения, и сопоставления по умолчанию больше не будут соответствовать вашим ожиданиям, поэтому вам придется потратить время на настройку любого используемого вами инструмента.

XSLT может быть самым быстрым способом генерирования именно того кода, который вы хотите. Если это жесткое кодирование небольшой схемы, это может быть быстрее, чем оценка и использование множества новых технологий.

4
ответ дан BeWarned 28 November 2019 в 02:34
поделиться

Создайте модель Java с помощью Axis wsdl2java (которая может принимать файлы .xsd).

Используйте инструмент создания базы данных для Java, который использует Java-модель. Конечно, что-то вроде Hibernate может сделать это? Я написал свой собственный инструмент (занимает пару дней, также генерирует код CRUD на Java), чтобы сэкономить время на работе, может быть, это был бы хороший личный проект?

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

0
ответ дан JeeBee 28 November 2019 в 02:34
поделиться

hyperjaxb (версии 2 и 3) на самом деле генерирует, в спящем режиме, отображая файлы и связанные объекты объекта, и также делает тест распространения в прямом и обратном направлениях для данного XSD и демонстрационного XML-файла. Можно получить вывод журнала и видеть операторы DDL для себя. Я должен был настроить их немного, но это дает Вам основную синюю печать для запуска с.

0
ответ дан 28 November 2019 в 02:34
поделиться

Мог бы смотреть на инструмент XSD в Visual Studio 2k8... Я создал реляционный набор данных из xsd, и это могло бы помочь Вашему так или иначе.

0
ответ дан Shawn 28 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: