mysql tableveiw与表格,javafx将数据库内容输出到tableview表格
一 、創建Fxml文件,用Javafx Scene Builder 編輯頁面,創建tableview(表格)和tablecolum(表格中的列),并為其設置fxid;
二、生成fxml文件的控制類;
三、創建數據庫的連接類(使用JDBC驅動);
Connect.java
importjava.io.IOException;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.util.Properties;public classConnect {//連接數據庫url
staticString url;//創建Properties對象
static Properties info = newProperties();//驅動程序加載
static{//獲得屬性文件輸入流
InputStream input = Connect.class.getResourceAsStream("config.properties");try{//加載屬性文件內容到Properties對象
info.load(input);//從屬性文件中取出url
url = info.getProperty("url");//從屬性文件中取出driver
String driverClassName = info.getProperty("driver");
Class.forName(driverClassName);
System.out.println("驅動程序加載成功...");
}catch(ClassNotFoundException e) {
System.out.println("驅動程序加載失敗...");
}catch(IOException e) {
System.out.println("加載屬性文件失敗...");
}
}//獲得數據庫連接
public staticConnection getConnection() {//創建數據庫連接
Connection conn = null;try{
conn=DriverManager.getConnection(url, info);//System.out.println("數據庫連接成功!");
} catch(SQLException e) {
System.out.println("數據庫連接失敗!");
System.out.println(url);
System.out.println(info);
}returnconn;
}
}
四、控制類需繼承抽象類initable,并實現為實現的抽象方法;
五、獲取數據庫連接:
Connection conn = Connect.getConnection();
寫數據庫查詢語句:
String sql="select * from Test";
使用prepareStatement? prep = new prepareStatement(sql);
執行數據庫語句。
(1)如果執行的數據庫語句是查詢語句,則會返回查詢結果
使用 Resultset res = prep.executeQuery()來執行查詢并將查詢結果存入res中
(2)如果執行的數據庫語句是非查詢語句(如插入、刪除等),則沒有返回結果
使用 Resultset res = prep.execute()來執行。
用錯會報錯。
六、創建ObservableList cellData = FxCollections.observableArraylist();
Data 類是需要插入tableview表格的數據類型
如插入表格的每行數據都為一個字符串,則Data類應定義變量:
SimpleStringProperty str1 = new SimpleStringProperty();
并為變量創建訪問器(getStr)和修改器(setStr)
并創建這個類的構造方法Data(string)。
七、利用cellData.add(new Data(string))方法填充數據進入cellData中。
tableview.setCellvalueFactory(cellData->cellData.getvalue().getStr())
最后使用tableview.SetItem(cellData)綁定數據給表格即可
總結
以上是生活随笔為你收集整理的mysql tableveiw与表格,javafx将数据库内容输出到tableview表格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java什么是重用_深度解析:java必
- 下一篇: Java增强之并发编程