javafx将数据库内容输出到tableview表格

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

转载于:https://www.cnblogs.com/fangmr/p/11429914.html

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在JavaFX中将数据库导入表格,你需要使用JavaFXTableView组件和Java的JDBC API。以下是大致的步骤: 1. 创建一个TableView对象并设置列属性 2. 通过JDBC连接到数据库 3. 从数据库中检索数据并将其存储在Java对象中 4. 将Java对象添加到TableView中以在表格中显示数据 以下是一个简单的代码示例,演示如何将数据库中的数据导入JavaFX表格中: ``` // 创建TableView对象 TableView<Person> tableView = new TableView<>(); // 设置列属性 TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name"); firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName")); TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name"); lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName")); // 添加列到TableView tableView.getColumns().addAll(firstNameCol, lastNameCol); // 通过JDBC连接到数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); // 检索数据并将其存储在Java对象中 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM people"); ObservableList<Person> data = FXCollections.observableArrayList(); while (rs.next()) { Person person = new Person(rs.getString("first_name"), rs.getString("last_name")); data.add(person); } // 将Java对象添加到TableView中以在表格中显示数据 tableView.setItems(data); ``` 请注意,此代码示例仅用于演示目的,并不是完整的可运行代码。你需要根据你的数据库表格配置进行适当的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值