Как передать данные из БД в таблицу TableView - Java
Формулировка задачи:
Данный класс отвечает за соединение с БД
Этот контроллер служит для заполнения TAbleView
Проблема в том что я не знаю как передать В контроллер соединение которое произошло в классе DBUtil и передать select в таблицу.
Прошу помощи SOS, HELP
package util; import java.sql.*; public class DBUtil { public DBUtil() throws ClassNotFoundException { try { Class.forName("oracle.jdbc.OracleDriver"); } catch (ClassNotFoundException e) { System.out.println(e.getMessage()); } try { Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1203:xxit_d", "RU_SVC", "123456"); } catch (SQLException e) { System.out.println(e.getMessage()); } } }
package controller; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; import javafx.scene.control.MenuItem; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; import javafx.stage.FileChooser; import javafx.stage.Window; import model.TableView_Head; import org.xml.sax.SAXException; import util.DBUtil; import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; import java.net.URL; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ResourceBundle; public class FXMLMainController implements Initializable, Cloneable { @FXML public MenuItem btnMenuAdd; @FXML public MenuItem Close; @FXML public MenuItem Help; @FXML public MenuItem About; @FXML public Button btnAddFile; @FXML public TableView <TableView_Head> TableView_Head; @FXML public TableColumn<TableView_Head, String> DateColumn; @FXML public TableColumn <TableView_Head, String> NameFileColumn; @FXML public TableColumn <TableView_Head, String> TypeFileColumn; @FXML public TableColumn <TableView_Head, String> StatusFileColumn; @FXML public Button btnExit; @FXML public Button btnSearchFile; public TableColumn tabFamiliya; public TableColumn tabFName; @FXML private Window primaryStage; private ObservableList<TableView_Head> AddData = FXCollections.observableArrayList(); public FXMLMainController() throws ClassNotFoundException { } //Метод для добавления информации из таблицы БД private void DatabaseInfo() throws SQLException, ClassNotFoundException {} DBUtil db = new DBUtil(); //Метод initialize - Столбцы из БД public void initialize(URL location, ResourceBundle resources) { DateColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FDT")); NameFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FNAME")); TypeFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FTYPE")); StatusFileColumn.setCellValueFactory(new PropertyValueFactory<TableView_Head, String>("FSTATUS")); try { DatabaseInfo(); } catch (SQLException | ClassNotFoundException e){ e.printStackTrace(); } } //Обрабатываем кнопки public void handleButtonAction(ActionEvent actionEvent) throws ParserConfigurationException, IOException, SAXException { Object source = actionEvent.getSource(); //Проверяем нажата ли кнопка, если нет то выходим из цикла if (!(source instanceof Button)) { return; } switch (((Button) source).getId()) { //Обрабатываем событие выбора файла case "btnAddFile": { FileChooser fileChooser = new FileChooser(); //Задаем фильтр, чтоб пользователь видел только файлы с расширением xml FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Файлы XML (*.xml)", "*.xml"); fileChooser.setInitialDirectory(new File("C:/1/")); //Задаем имя для диалогового окна fileChooser.setTitle("Открыть файл для загрузки"); fileChooser.getExtensionFilters().add(extFilter); //Открывам диалоговое окно File file = fileChooser.showOpenDialog(primaryStage); //Цикл если файл не выбран, то выход или начинаем парсить, запускаем класс XmlParser if (file != null) { System.out.println(file); XmlParser xmlParser = new XmlParser(); xmlParser.parse(file.getPath()); } else { System.out.println("Файл не выбран"); } } break; case "btnSearchFile": { System.out.println(); } break; case "btnExit": { System.exit(0); } break; } } public void Close() { } public void Help() { } public void About() { } }
Решение задачи: «Как передать данные из БД в таблицу TableView»
textual
Листинг программы
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.TableColumn?> <?import javafx.scene.control.TableView?> <?import javafx.scene.layout.GridPane?> <GridPane alignment="center" hgap="10" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.111" fx:controller="sample.Controller"> <children> <TableView fx:id="TableTest" prefHeight="200.0" prefWidth="200.0"> <columns> <TableColumn fx:id="column1" maxWidth="-1.0" minWidth="-1.0" prefWidth="-1.0" text="C1" /> </columns> </TableView> </children> </GridPane>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д