如何使排序和搜索方法与Java中的Mysql数据库交互

如何使排序和搜索方法与Java中的Mysql数据库交互,java,mysql,database,sorting,methods,Java,Mysql,Database,Sorting,Methods,当我从数据库中检索数据时,我将它们保存在一个数组中,但所有数据都保存在一起,问题是数据库中有4个参数(姓名、父姓、母姓、电话) 对所有数据分别进行排序,但它不会根据其4个参数对行进行排序(即它对完整行进行排序,但会根据其名称按字母顺序排列,而不会分隔其他数据(姓氏、电话号码))。我必须使用排序方法和搜索进行排序 我的想法是,当人们输入数据时,他们会进入数据库并将所有信息返回到程序中,以便根据排序和搜索方法对其进行排序,并将其上载到数据库中,但已使用该方法进行排序。(这是我找到的最好的解决方案,因

当我从数据库中检索数据时,我将它们保存在一个数组中,但所有数据都保存在一起,问题是数据库中有4个参数(姓名、父姓、母姓、电话)

对所有数据分别进行排序,但它不会根据其4个参数对行进行排序(即它对完整行进行排序,但会根据其名称按字母顺序排列,而不会分隔其他数据(姓氏、电话号码))。我必须使用排序方法和搜索进行排序

我的想法是,当人们输入数据时,他们会进入数据库并将所有信息返回到程序中,以便根据排序和搜索方法对其进行排序,并将其上载到数据库中,但已使用该方法进行排序。(这是我找到的最好的解决方案,因为我无法使它直接与数据库以及搜索和排序方法交互)


任何建议、解决方案、批评,请相信我,我将不胜感激,谢谢你

Hi@estenosodor-这就是你正在使用的数据结构-列表如何知道你拥有哪些数据?如果您现在需要从数据库中获取数据,那么您可能需要
选择名称、父姓、母姓、电话来源…
这样您就知道col 1是名称,col2是父姓,col3是母姓,等等。您还可以在数据库中进行排序。。。e、 g.
按父姓、母姓、姓名、电话排序
    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 justall");
        rs = stmt.executeQuery();

        List<String> list = new ArrayList<>();
        while (rs.next()) {

            for (int x = 1; x <= rs.getMetaData().getColumnCount(); x++) {
                String str = null;
                str = rs.getString(x);
                list.add(str);
                System.out.print(str + "\t");
            }

            System.out.println();

        }
        String[] str = list.toArray(new String[0]);
        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]);
        }

    } catch (SQLException sqle) {
        sqle.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
run:
Strings in sorted order:




7773356484
7773452788
7775190298
Albarran
Albarran
Brandon
Castañeda
Daniel
Flores
Flores
Julio
Tabares
BUILD SUCCESSFUL (total time: 1 second)