Вопрос по database – JavaFX 2.0 TableView в FXML с данными из базы данных

0

Мне интересно, как я могу получить данные из базы данных MySQL в табличное представление, которое находится в файл FXML. Я должен получить данные и поместить их в табличное представление, которое находится в файле FXML. У меня есть идея, как я буду подключаться к базе данных, но я не знаю, как извлечь данные и поместить их в табличное представление.

Представление таблицы находится в файле fxml. Если я все еще здесь, кто-нибудь знает после импорта данных, как я могу редактировать ячейки в этом табличном представлении?

Приложение, над которым я работаю, является настольным!

Ваш Ответ

2   ответа
3

один из них - использовать адаптер JDBC от DataFX.

Обновит

FXML сам по себе определяет структуру пользовательского интерфейса на основе xml, он не может загружать данные из базы данных.

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

Предложенный подход:

Используйте fxml только для определения структуры TableView, но не для хранения фактических значений данных. В вашем JavaFX-коде Java подключайтесь к базе данных mysql. Используйте адаптер источника данных DataFX JDBC, чтобы извлечь данные из базы данных и заполнить ваш TableView.

Вы можете написать свой собственный код для выполнения шага 3. Использование собственного кода может быть хорошей идеей, если вы хотите использовать JPA (который, я думаю, в настоящее время DataFX не поддерживает напрямую). В противном случае вы, вероятно, получите лучшие результаты быстрее, используя реализацию DataFX.

Чтобы узнать, как делать изменения в TableView, прочитайте это TableView учебник. Опять же, DataFX поможет вам, предоставив Клеточные фабрики для правок - поэтому я бы порекомендовал использовать для этого DataFX, а не кодировать обработку редактирования TableView.

Я не уверен, поможет ли вам код DataFX, когда вам нужно внести изменения в базу данных; в этом случае вам, вероятно, потребуется добавить свой собственный код JDBC или JPA, чтобы зафиксировать изменения.

Я видел API, но мне нужно что-то для файлов fxml. Я хочу загрузить данные из fxml! Благодарност Valentin Vrinceanu
Добавлено обновление о том, почему fxml не может загрузить данные из базы данных, и добавлен подробный предложенный подход. jewelsea
Есть ли у вас какие-нибудь фрагменты о том, как использовать адаптер источника данных JDBC для получения данных? AsirC
Не сейчас, Элвин. jewelsea
1

вы не можете извлечь и отобразить данные из БД в файле FXML и сделать ячейки табличного представления редактируемыми в файле FXML. Хотя это было возможно (возможно, частично через обычайBuilder а такжеBuilderFactory), это не рекомендуется делать в смысле MVC. Пожалуйста, прочитайте о Зачем использовать FXML и его преимущества в первую очередь. Тем не менее, вы можете определить некоторые базовые структуры данных в файле FXML, если это необходимо, см. Введение в FXML.
Так что делай свои задачи, не связанные с просмотром, в видеinitialize() метод контроллера, а именно извлечение данных и установка элементов таблицы. Настройте фабрики ячеек столбцов таблицы для поддержки редактирования и т.

Так что я могу сделать это с контроллера fxml, как я понимаю! Правильно Valentin Vrinceanu

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