如何把数据库里的数据添加到javafx里的tableview表中
时间: 2023-08-02 15:07:51 浏览: 135
JavaFX2.0_表格框TableView
要把数据库里的数据添加到JavaFX中的TableView表中,可以按照以下步骤进行操作:
1. 首先,需要建立一个与数据库连接的类。可以使用Java的JDBC API来连接数据库。
2. 接着,需要查询数据库并将结果存储到一个Java集合中。可以使用Java的ArrayList或LinkedList来存储数据。
3. 然后,需要将数据集合中的数据添加到TableView表中。可以使用TableView的setItems()方法来设置数据源,然后使用TableColumn类来定义表格列,将列添加到表格中。
下面是一个示例代码,可以供您参考:
```
// 建立数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 查询数据库
String query = "SELECT * FROM mytable";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
// 将结果存储到集合中
List<MyData> dataList = new ArrayList<>();
while (rs.next()) {
MyData data = new MyData(rs.getString("name"), rs.getInt("age"), rs.getString("address"));
dataList.add(data);
}
// 设置数据源
TableView<MyData> tableView = new TableView<>();
tableView.setItems(FXCollections.observableArrayList(dataList));
// 定义表格列
TableColumn<MyData, String> nameCol = new TableColumn<>("姓名");
nameCol.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<MyData, Integer> ageCol = new TableColumn<>("年龄");
ageCol.setCellValueFactory(new PropertyValueFactory<>("age"));
TableColumn<MyData, String> addressCol = new TableColumn<>("地址");
addressCol.setCellValueFactory(new PropertyValueFactory<>("address"));
// 将列添加到表格中
tableView.getColumns().addAll(nameCol, ageCol, addressCol);
```
这段代码假设您已经定义了一个MyData类来存储数据。您可以根据自己的需求修改代码。
阅读全文