• 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)绑定数据给表格即可

  • 相关阅读:
    HDU2203
    POJ3616
    堆排序
    POJ1386+欧拉回路
    快速排序(实现)
    HDU3549+FordFulkerson
    POJ2155
    POJ1195
    mysql案例~关于linux服务器本身的优化问题
    mysql案例~mysql主从复制延迟概总
  • 原文地址:https://www.cnblogs.com/fangmr/p/11429914.html
Copyright © 2020-2023  润新知