2012-02-27 1 views
0

Я хотел бы представить таблицу базы данных в моем приложении Swing.
Очень простая таблица, она должна отображать данные, которые состоят из одной или нескольких таблиц в базе данных.Хороший способ реализации таблицы обновляемого GUI/DB (CRUD)

Пользователь должен иметь возможность добавлять, удалять и обновлять таблицу, а затем нажать save.
(не обязательно, он может просто сохранить каждый раз, когда он изменяет значения)

  • Каков рекомендуемый способ сделать это наиболее эффективным образом?
  • Каковы рекомендуемые рамки для начала?
+1

* «Каков рекомендуемый способ сделать это наиболее эффективным способом?» * Ну, всегда есть «спрашивать случайных незнакомцев в Интернете, чтобы сделать это за вас» (именно так я интерпретирую такие неопределенные запросы в сочетании с терминами «лучший»/«самый эффективный»), но я бы вряд ли сказал, что это рекомендуется *, особенно не в SO. –

+1

Я не согласен. особенно когда у вас нет опытного программиста, есть много лучших практик для реализации вещей, о которых вы, возможно, не знаете. и могут быть рамки, о которых вы никогда не слышали. ответ всегда может быть именем фрейма, шаблоном оформления или некоторой копией и вставкой собственных реализаций. почему нет? – niklas

+0

Ну, даже старый программист мог бы иногда изучать новые трюки. Я объясню свои мысли по моему первоначальному вопросу. Я обычно делаю полный круг и использую наблюдаемый ограниченный список и спящий режим, отправляя свои действия на пользовательские события. много кода. Но я знаком со многими RAD-языками, которые делают это за половину усилий и кода. Просто пришел сюда, чтобы узнать, есть ли в java более быстрый способ. Иногда форум здесь дает мне ключ к поиску новых фреймворков. – Jeb

ответ

4

Обычно JTable используется для отображения данных в базе данных в виде таблицы, вы можете увидеть, как here.

Также рекомендуется разделить логику доступа к базе данных и базы данных на отдельные классы. Кроме того, может быть хорошей идеей выполнять операции с базой данных в потоке, который не является потоком диспетчера событий (EDT), поскольку это может привести к зависанию пользовательского интерфейса вашего приложения.

Что касается доступа к базе данных, вы можете использовать структуру ORM, такую ​​как Hibernate. Он позволит вам подключиться к вашей базе данных и получать информацию независимо от используемой вами базы данных. Вы также можете изменить свою базовую базу данных в любой момент времени, не переписывая свои SQL-запросы в соответствии с используемым вами механизмом базы данных.

Вы можете использовать JFrames для создания форм, с помощью которых вы можете добавлять и/или удалять данные.

+0

Ох. Поэтому в основном вы говорите, что я должен писать это почти с нуля. Я обычно делаю то, что вы упомянули. Свяжите мой jtable с наблюдаемым списком и обновите БД либо спящим, либо sql. Разве нет готовой рамки для этого? – Jeb

+0

@ user450602: Насколько я знаю, нет никаких фреймворков, которые это делают. Я думаю, что главная причина заключается в том, что проблема может быть тривиальной, если можно так выразиться, и многие люди не считают это достойным внимания. Возможно, я ошибаюсь. – npinti

+1

Прошу отличить. Связывание JTable с наблюдаемым списком, привязка правильных столбцов, установка имен defaault, отправка событий в модуль, а затем привязка его к db для команд CRUD генерирует много общего кода. Я искал RAD FW, который, например, принимает таблицу JTable и DB и генерирует все соединение. Он существует в других средах. Я просто искал реализацию J2SE для всего этого. – Jeb

Смежные вопросы