Существует несколько способов сделать это, один из них - использовать адаптер JDBC от DataFX.
Update
сам FXML просто определяет структуру интерфейса XML на основе, он не может загрузить данные из базы данных.
Когда данные берутся из базы данных, создание статического файла fxml, содержащего значения данных, вероятно, является плохой идеей в большинстве случаев. В любое время, когда данные в базе данных меняются, вам нужно будет сгенерировать и загрузить новый файл fxml, и для этого вам понадобится либо создать новый файл вручную, либо написать хрупкую программу для создания нового файла fxml на основе данных в база данных.
Предлагаемый подход:
- Используйте FXML только определить структуру Tableview, но не содержат фактических значений данных.
- В Java Java код Java подключитесь к базе данных mysql.
- Используйте источник данных DataFX JDBC для извлечения данных из базы данных и заполнения TableView.
Вы можете написать свой собственный код, чтобы сделать шаг 3. Использование собственного кода может быть хорошей идеей, если вы хотите использовать JPA (что, по-моему, DataFX в настоящее время не поддерживает напрямую). В противном случае вы, скорее всего, получите лучшие результаты быстрее, используя реализацию DataFX.
Чтобы узнать, как делать изменения в TableView, читайте это TableView tutorial. Опять же, DataFX поможет вам, предоставив Control Cell Factories для редактирования, поэтому я бы рекомендовал использовать DataFX для этого, а не ручное кодирование обработки редактирования TableView.
Я не уверен, поможет ли вам код DataFX, когда вам необходимо внести изменения в базу данных; в этом случае вам, вероятно, потребуется добавить свой собственный JDBC или JPA-код для фиксации изменений.
Я видел API, но мне нужно что-то для файлов fxml. Я хочу загрузить данные из fxml! Спасибо –
Добавлено обновление о том, почему fxml не может загружать данные из базы данных и добавляет подробный предлагаемый подход. – jewelsea
Есть ли у вас какие-то фрагменты о том, как использовать JDBC-источник для извлечения данных? – AsirC