一 、创建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)绑定数据给表格即可