一 、創建Fxml文件,用Javafx Scene Builder 編輯頁面,創建tableview(表格)和tablecolum(表格中的列),並為其設置fxid;
二、生成fxml文件的控制類;
三、創建數據庫的連接類(使用JDBC驅動);
Connect.java
import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class Connect { // 連接數據庫url static String url; // 創建Properties對象 static Properties info = new Properties(); // 驅動程序加載 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 static Connection 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); } return conn; } }
四、控制類需繼承抽象類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<Data> 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)綁定數據給表格即可