У нас есть приложение Java с большим количеством таблиц конфигурации в базе данных (Oracle). Мы хотели бы иметь веб-интерфейсы GUI для настройки этих таблиц, которые мы в настоящее время обновляем с помощью SQL-запросов. Каков самый простой способ разработки CRUD для подмножества нашей базы данных? Есть ли какая-либо Java-платформа для этого?Какова лучшая структура для разработки Java CRUD для существующей базы данных?
ответ
Я думаю, что использование инструмента ORM упрощает создание CRUD. Недавний вопрос о SO относительно Java ORMs - который вышел с Hibernate, получившим наибольшее количество голосов (хотя использование ORM не было достаточно высоким!).
reinCRUD - это дополнение, которое работает с использованием аннотированных объектов спящего режима. Вы можете создать приложение CRUD в течение нескольких минут, и вы можете повторно использовать такие компоненты, как списки, формы и формы поиска. В нашем случае вы можете использовать инструмент моделирования БД (например, hibernate tools), чтобы сгенерировать объекты спящего режима, а затем разместить для них аннотации для reinCRUD.
В зависимости от существующего дизайна базы данных вы можете рассмотреть Apache Isis.
Apache Isis лучше всего подходит для работы со всем вашим приложением, поэтому, возможно, это слишком просто для управления частями вашего набора данных.
Для тех, кто ищет полное решение - с помощью веб-графических интерфейсов (Wicket и 2 пользовательских HTML-версий), полная поддержка базы данных (теперь с поддержкой JDO) и интроспекция ваших POJO в режиме реального времени (Isis is not генератор кода), возможно, это может сработать для вас.
Хранилище объектов Apache Isis SQL (которое использует JDBC) можно настроить для сопоставления существующих таблиц с вашими классами и столбцами таблицы с вашими свойствами класса (вы можете переопределить автоматически назначенные имена в файлах свойств).
Для больших проектов, возможно, хранилище данных JDO более подходит и сконфигурировано с аннотациями.
Я являюсь автором и членом Apache Isis PMC - с особым акцентом на хранилище объектов SQL.
ИМХО хороший инструмент, но очень неудачное имя. :) –
ИМХО, существует неплохое решение для управления данными приложения без необходимости писать дополнительный код.
LightAdmin - это подключаемая библиотека Java для приложений с поддержкой Spring/JPA, которая обеспечивает стандартную функциональность CRUD, фильтрацию, проверку JSR-303 посредством чистого и простого пользовательского интерфейса. Он предоставляет DSL для настройки интерфейса, и вы можете подключать/отключать его от своего приложения, когда захотите.
Вот небольшой пример конфигурации DSL настройки:
@Administration(Booking.class)
public class BookingAdministration {
public static ScopesConfigurationUnit scopes(final ScopesConfigurationUnitBuilder scopeBuilder) {
return scopeBuilder
.scope("All", all())
.scope("Smoking Apartments", specification(smokingApartmentsSpec(true)))
.scope("Non Smoking Apartments", specification(smokingApartmentsSpec(false)))
.scope("Long-term bookings", filter(longTermBookingPredicate())).defaultScope().build();
}
public static FiltersConfigurationUnit filters(final FiltersConfigurationUnitBuilder filterBuilder) {
return filterBuilder
.filter("Customer", "user")
.filter("Booked Hotel", "hotel")
.filter("Check-In Date", "checkinDate").build();
}
public static FieldSetConfigurationUnit listView(final FieldSetConfigurationUnitBuilder fragmentBuilder) {
return fragmentBuilder
.field("user").caption("Customer")
.field("hotel").caption("Hotel")
.field("checkinDate").caption("Check-In Date")
.field("smoking").caption("Smoking")
.field("beds").caption("Beds")
.build();
}
public static DomainTypePredicate longTermBookingPredicate() {
return new DomainTypePredicate() {
@Override
public boolean apply(final Booking booking) {
return booking.getNights() > 20;
}
};
}
public static DomainTypeSpecification smokingApartmentsSpec(final boolean isSmokingApartment) {
return new DomainTypeSpecification() {
@Override
public Predicate toPredicate(final Root root, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
return cb.equal(root.get("smoking"), isSmokingApartment);
}
};
}
}
Хорошо, если CRUD является «приятным для вас» или если он «для вас». Он не поддерживает большую настройку с точки зрения интерфейса и, наконец, я слышал, что он не поддерживает интернационализацию. – Cenobyte321
Telosys Инструменты (http://www.telosys.org/) был дизайн для такого рода работы.
Он использует существующую базу данных для генерации исходного кода (обычно CRUD экранов) И это можно настроить шаблоны, если необходимые
Лучшим способом попробовать это следовать учебнику: https://sites.google.com/site/telosystutorial/
(есть стек для Spring MVC/Spring Data/JPA)
Смотрите также: http://marketplace.eclipse.org/content/telosys-tools
- 1. Какова лучшая структура для разработки веб-приложений с использованием java
- 2. Какова лучшая структура базы данных и отношения для этого сценария?
- 3. Какова лучшая структура данных для реализации очереди?
- 4. Какова лучшая структура данных для создания инвертированного индекса в Java?
- 5. Лучшая структура базы данных
- 6. Лучшая структура для этой базы данных?
- 7. Лучшая структура для Java-программирования?
- 8. Лучшая структура для разработки сервера обмена сообщениями
- 9. Какова лучшая структура данных в Perl для хранения табличных данных?
- 10. JAVA: Лучшая структура данных для сравнения документов?
- 11. Какова лучшая структура для реализации карты идентификации?
- 12. Какая лучшая структура для разработки Firefox Os
- 13. Какова рекомендуемая структура документа для разработки интерфейса?
- 14. Python, какова структура данных для тройных данных
- 15. Лучшая структура базы данных журнала
- 16. Лучшая ОС для разработки java?
- 17. Лучшая структура кэша для Java
- 18. Какова лучшая структура данных C# для следующей ситуации
- 19. Какова лучшая структура данных для удаления элемента из середины?
- 20. Какова лучшая структура данных для сопоставления шаблонов в словаре?
- 21. C++ Какова лучшая структура данных для двухмерного массива объектов «свая»?
- 22. Какова лучшая структура данных для решения TSP в Visual Basic
- 23. Написание строки в Python, какова лучшая структура данных для использования?
- 24. Веб-приложение: лучшая технология для разработки интерфейса для базы данных?
- 25. Какова будет структура базы данных?
- 26. Какова наиболее эффективная структура данных для разработки алгоритма PRIM?
- 27. Создайте простые классы JAVA CRUD из существующей базы данных MySQL
- 28. Лучшая структура данных для поиска?
- 29. Лучшая структура данных для строк
- 30. Какова лучшая структура данных в этом случае?
возможно дубликат [? есть ли утилита CRUD генератор в Java (любые рамки), как Строительные леса в Rails] (HTTP: // StackOverflow. с om/questions/414583/is-there-a-crud-generator-utility-in-javaany-framework-like-scaffolding-in-rail) –