【问题标题】:Save a Resultset to an Array in java在java中将结果集保存到数组
【发布时间】:2021-07-24 02:12:57
【问题描述】:

我想将整个 Mysql 表的结果保存在一个数组中

    String sDriver = "com.mysql.jdbc.Driver";
    String sURL = "jdbc:mysql://www.odorxd.xyz:3306/u218933149_odor_base";

    try {
        Class.forName(sDriver).newInstance();
        Connection con = DriverManager.getConnection(sURL, "u218933149_estenoesodor", "Tsunayoshi27?");

        PreparedStatement stmt = null;
        ResultSet rs = null;

        stmt = con.prepareStatement("SELECT * FROM justname");
        rs = stmt.executeQuery();

        while (rs.next()) {

            for (int x = 1; x <= rs.getMetaData().getColumnCount(); x++) {
                System.out.print(rs.getString(x) + "\t");

            }

            System.out.println("");

        }

    } catch (SQLException sqle) {
        sqle.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

它从数据库中返回给我

运行: 布兰登 布兰登 胡里奥

丹尼尔
构建成功(总时间:1 秒)

我想将数据库中的内容保存在一个数组中,以便能够使用排序和搜索方法来实现它

String str[] = { "Ajeet", "Steve", "Rick", "Becky", "Mohan", "Brandon", "Brandon Jesus", "Brandon Flores", "Brandon Flores Flores"};
    String temp;
    System.out.println("Strings in sorted order:");
    for (int j = 0; j < str.length; j++) {
       for (int i = j + 1; i < str.length; i++) {
        // comparing adjacent strings
        if (str[i].compareTo(str[j]) < 0) {
            temp = str[j];
            str[j] = str[i];
            str[i] = temp;
        }
       }
       System.out.println(str[j]);
    }   

这就是为什么我需要将它保存在一个数组中

如果您没有任何想法,我将不胜感激任何批评或帮助,谢谢

【问题讨论】:

  • 您希望将每个字段值添加到一个长列表中吗?还是要将结果集中的每一行都视为一条记录?

标签: java mysql arrays database resultset


【解决方案1】:

您可以使用List

List<String> list = new ArrayList<>();
while (rs.next()) {
    for (int x = 1; x <= rs.getMetaData().getColumnCount(); x++) {
        String str = rs.getString(x)
        list.add(str);
        System.out.print(str + "\t");
    }
    System.out.println();
}
String[] arr = list.toArray(new String[0]);
String temp;
// ... sort

【讨论】:

  • 应该注意的是,这会在列表中为每一行的每一列添加一个新条目,而不是每一行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多