Лучший способ для автоматической привязки данных между базой данных и пользовательским интерфейсом в приложении Java Swing? - PullRequest
2 голосов
/ 06 августа 2010

В настоящее время я сталкиваюсь с необходимостью создания пользовательского веб-приложения для базы данных с десятками таблиц и тысячами полей.

Это должно быть приложение Java Swing, и я пытаюсь найти как можно более автоматизированное решение.Идеально, чтобы полностью избежать ручного создания слоя DAO, определения бинов и создания GUI.

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

Ответы [ 2 ]

5 голосов
/ 06 августа 2010

Это сложная тема, которая может стать хорошим Wiki сообщества .Я только поцарапал поверхность, но NetBeans имеет развивающиеся возможности в этой области.Это должно быть в вашем коротком списке.См. Эти разделы справки и ссылки:

  1. Генерация классов контроллера JPA из классов сущностей
  2. Привязка данных к компоненту Swing
  3. Задачи Java Persistence: Краткое руководство .
  4. Лучшие практики с привязкой JPA и Beans .
  5. Использование API Java Persistence для приложений Java SE 7 Desktop в NetBeans 7 .
2 голосов
/ 06 августа 2010

На самом деле есть два шага:

1-й - выбрать объектный реляционный маппер (ORM).Это может быть провайдер JPA, провайдер JDO или что-то вроде Hibernate.JPA - это поддерживаемая языком спецификация для отображения между вашими объектами Java и вашей базой данных.Я также использовал Hibernate (Hibernate вводит в заблуждение, потому что он является как автономным ORM, так и провайдером JPA), и он хорошо сработал для меня.Ваш ORM опишет, в какие таблицы / строки вы сохраняете классы / поля вашего Java-объекта, а также обеспечит транзакции и механизм для сохранения изменений вашего Java-объекта, когда это будет удобно для вашего приложения.

Если вы думаетеЧто касается хранения в XML, тогда вы можете посмотреть на DataNucleus как на провайдера JPA / JDO, который ранее поддерживал хранение XML.

2-й - это выбор структуры связывания.Если вы используете Swing, то платформа NetBeans является естественным выбором, как рекомендует trashgod.NetBeans имеет целый ряд технологий, предназначенных для облегчения разработки приложений, включая технологии связывания.Если вы используете IDE NetBeans, вы получаете встроенный инструмент создания графического интерфейса. У меня нет опыта работы с инструментом создания графического интерфейса, поэтому я не могу сказать намного больше, чем он существует.

Если вы делаете прямой Swingбогатый клиент для базы данных, то вам не нужно использовать DAO.DAO полезны в многоуровневых приложениях, где есть код как на клиенте, так и на сервере.Если вы выполняете всю свою логику на клиенте, а сервер - это просто база данных, вам не нужны DAO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...