如何正确地将值从mysql数据库填充到javafx中的observableList?我正在使用:
ObservableList<String> deptList=FXCollections.observableArrayList("CSE","ME");
手动将值填充到observablelist,但我不知道如何从mysql数据库中获取数据并填充到observable列表中。
答案 0 :(得分:3)
要从mysql数据库获取List,请打开与mysql数据库的数据库连接并执行查询。 (我不打算为你写这个,因为有很多good examples online。)一旦你有了ResultSet:
List<String> listOfSomething;
ResultSet rs = statement.executeQuery(query);
while (rs.next()) {
String current = rs.getString("whatever");
listOfSomething.add(current);
}
您可以从数据库中获取列表并将其转换为可观察列表:
List listOfSomething = new ArrayList(ofWhatever);
ObservableList<String> observableListOfSomething = FXCollections.observableArrayList(listOfSomething);
答案 1 :(得分:0)
这是用于在 ListView(JavaFX(fxml))中填充数据的代码。
private void populateListView {
try {
String query = "select * from main_table";
PreparedStatement prestate = model.getConnection().prepareStatement(query);
ResultSet result = prestate.executeQuery();
while (result.next()) {
String current = result.getString("title");
ObservableList<String> list = FXCollections.observableArrayList(current);
listview.getItems().addAll(list);
}
prestate.close();
result.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
答案 2 :(得分:0)
谢谢。这篇文章中提到的答案也适用于我的案例。
我使用postgres
作为数据库。
创建表格视图
@FXML private TableView<AccountMaster> detailstable;
我从数据库中获取详细信息并将其存储在通用列表中。
List<Student> list = DatabaseClient.getInstance().studentDetailsSearch(id,name);
创建可观察的泛型类型列表,然后在可观察列表中设置列表值。
ObservableList<AccountMaster> searchDetailsList = FXCollections.observableArrayList(list );
在表格视图中设置
detailstable.getItems().addAll(searchDetailsList);
有了这个,我们可以将数据库中的值填充到ObservableList
javafx